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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

選擇data.table R中的列子集

選擇data.table R中的列子集

婷婷同學(xué)_ 2019-12-27 15:24:11
我有一個(gè)帶有一列列的數(shù)據(jù)表,例如:dt<-data.table(matrix(runif(10*10),10,10))我想對(duì)數(shù)據(jù)表執(zhí)行一些操作,例如生成相關(guān)矩陣(cor(dt))。為此,我想刪除一些包含非數(shù)字值或超出一定范圍的值的列。假設(shè)我要查找不包括V1,V2,V3和V5的相關(guān)矩陣。這是我目前的方法:cols<-!(colnames(dt)=="V1" | colnames(dt)=="V2" | colnames(dt)=="V3" | colnames(dt)=="V5")new_dt<-subset(dt,,cols)cor(new_dt)考慮到data.table語(yǔ)法通常如此優(yōu)雅,我覺(jué)得這很麻煩。有更好的方法嗎?
查看完整描述

3 回答

?
Cats萌萌

TA貢獻(xiàn)1805條經(jīng)驗(yàn) 獲得超9個(gè)贊

用途with=FALSE:


cols = paste("V", c(1,2,3,5), sep="")


dt[, !cols, with=FALSE]

我建議您仔細(xì)閱讀“ data.table簡(jiǎn)介”小插圖。


更新:從此以后v1.10.2,您還可以執(zhí)行以下操作:


dt[, ..cols]

請(qǐng)參閱第一條新聞下v1.10.2的在這里的附加說(shuō)明。


查看完整回答
反對(duì) 回復(fù) 2019-12-27
?
寶慕林4294392

TA貢獻(xiàn)2021條經(jīng)驗(yàn) 獲得超8個(gè)贊

你可以做


dt[, !c("V1","V2","V3","V5"), with=FALSE]

要得到


            V4         V6         V7        V8         V9        V10

 1: 0.88612076 0.94727825 0.50502208 0.6702523 0.24186706 0.96263313

 2: 0.11121752 0.13969145 0.19092645 0.9589867 0.27968190 0.07796870

 3: 0.50179822 0.10641301 0.08540322 0.3297847 0.03643195 0.18082180

 4: 0.09787517 0.07312777 0.88077548 0.3218041 0.75826099 0.55847774

 5: 0.73475574 0.96644484 0.58261312 0.9921499 0.78962675 0.04976212

 6: 0.88861117 0.85690337 0.27723130 0.3662264 0.50881663 0.67402625

 7: 0.33933983 0.83392047 0.30701697 0.6138122 0.85107176 0.58609504

 8: 0.89907094 0.61389815 0.19957386 0.3968331 0.78876682 0.90546328

 9: 0.54136123 0.08274569 0.25190790 0.1920462 0.15142604 0.12134807

10: 0.36511064 0.88117171 0.05730210 0.9441072 0.40125023 0.62828674


查看完整回答
反對(duì) 回復(fù) 2019-12-27
?
繁星coding

TA貢獻(xiàn)1797條經(jīng)驗(yàn) 獲得超4個(gè)贊

這似乎有所改善:


> cols<-!(colnames(dt) %in% c("V1","V2","V3","V5"))

> new_dt<-subset(dt,,cols)

> cor(new_dt)

            V4          V6          V7          V8         V9         V10

V4   1.0000000  0.14141578 -0.44466832  0.23697216 -0.1020074  0.48171747

V6   0.1414158  1.00000000 -0.21356218 -0.08510977 -0.1884202 -0.22242274

V7  -0.4446683 -0.21356218  1.00000000 -0.02050846  0.3209454 -0.15021528

V8   0.2369722 -0.08510977 -0.02050846  1.00000000  0.4627034 -0.07020571

V9  -0.1020074 -0.18842023  0.32094540  0.46270335  1.0000000 -0.19224973

V10  0.4817175 -0.22242274 -0.15021528 -0.07020571 -0.1922497  1.00000000

這個(gè)不是很容易理解,但是可能需要用數(shù)字向量指定列的情況下使用:


subset(dt, , !grepl(paste0("V", c(1:3,5),collapse="|"),colnames(dt) ))


查看完整回答
反對(duì) 回復(fù) 2019-12-27
  • 3 回答
  • 0 關(guān)注
  • 491 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

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