第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用$和列名稱向量動態(tài)選擇數(shù)據(jù)框列

使用$和列名稱向量動態(tài)選擇數(shù)據(jù)框列

鴻蒙傳說 2019-05-25 15:46:50
使用$和列名稱向量動態(tài)選擇數(shù)據(jù)框列我希望根據(jù)不同的列來訂購數(shù)據(jù)框,一個轉(zhuǎn)彎。我有一個字符向量,其中的相關(guān)列名order應該基于:parameter <- c("market_value_LOCAL", "ep", "book_price", "sales_price", "dividend_yield",               "beta", "TOTAL_RATING_SCORE", "ENVIRONMENT", "SOCIAL", "GOVERNANCE")我想循環(huán)遍歷名稱parameter并動態(tài)選擇要用于order我的數(shù)據(jù)的列:Q1_R1000_parameter <- Q1_R1000[order(Q1_R1000$parameter[X]), ]這里X是1:10(因為我有10個項目parameter)。為了使我的示例可重現(xiàn),請考慮mtcars存儲在字符向量中的數(shù)據(jù)集和一些變量名稱cols。當我嘗試mtcars使用動態(tài)子集選擇變量時cols,以與上面(Q1_R1000$parameter[X])類似的方式,未選擇該列:cols <- c("cyl", "am")mtcars$cols[1]# NULL
查看完整描述

3 回答

?
藍山帝景

TA貢獻1843條經(jīng)驗 獲得超7個贊

如果我理解正確,你有一個包含變量名稱的向量,并希望遍歷每個名稱并按它們對數(shù)據(jù)框進行排序。如果是這樣,這個例子應該為您說明一個解決方案。你的主要問題(完整的例子不完整,所以我不確定你可能缺少什么)是它應該是,order(Q1_R1000[,parameter[X]])而不是order(Q1_R1000$parameter[X]),因為參數(shù)是一個外部對象,包含一個與直接列相對的變量名您的數(shù)據(jù)框(當$適當時)。


set.seed(1)

dat <- data.frame(var1=round(rnorm(10)),

                   var2=round(rnorm(10)),

                   var3=round(rnorm(10)))

param <- paste0("var",1:3)

dat

#   var1 var2 var3

#1    -1    2    1

#2     0    0    1

#3    -1   -1    0

#4     2   -2   -2

#5     0    1    1

#6    -1    0    0

#7     0    0    0

#8     1    1   -1

#9     1    1    0

#10    0    1    0


for(p in rev(param)){

   dat <- dat[order(dat[,p]),]

 }

dat

#   var1 var2 var3

#3    -1   -1    0

#6    -1    0    0

#1    -1    2    1

#7     0    0    0

#2     0    0    1

#10    0    1    0

#5     0    1    1

#8     1    1   -1

#9     1    1    0

#4     2   -2   -2


查看完整回答
反對 回復 2019-05-25
  • 3 回答
  • 0 關(guān)注
  • 800 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號