亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

通過其數字索引選擇data.table中的多個列

通過其數字索引選擇data.table中的多個列

如何在中使用其數字索引(位置)的向量選擇多列data.table?這就是我們如何處理data.frame:df <- data.frame(a = 1, b = 2, c = 3)df[ , 2:3]#   b c# 1 2 3
查看完整描述

3 回答

?
米脂

TA貢獻1836條經驗 獲得超3個贊

對于data.table的 版本>= 1.9.8,以下所有方法均適用:


library(data.table)

dt <- data.table(a = 1, b = 2, c = 3)


# select single column by index

dt[, 2]

#    b

# 1: 2


# select multiple columns by index

dt[, 2:3]

#    b c

# 1: 2 3


# select single column by name

dt[, "a"]

#    a

# 1: 1


# select multiple columns by name

dt[, c("a", "b")]

#    a b

# 1: 1 2

對于data.table 版本< 1.9.8(需要使用來選擇數字列with = FALSE),請參見此答案的先前版本。另請參閱新聞,v1.9.8中的更改/可能的更改/第2點。


查看完整回答
反對 回復 2019-10-16
?
富國滬深

TA貢獻1790條經驗 獲得超9個贊

這有點冗長,但是我已經習慣了使用隱藏.SD變量。


b<-data.table(a=1,b=2,c=3,d=4)

b[,.SD,.SDcols=c(1:2)]

這有點麻煩,但是您不會在其他data.table功能上迷失(我不認為),因此您仍然應該能夠使用其他重要功能,例如聯接表等。


查看完整回答
反對 回復 2019-10-16
?
三國紛爭

TA貢獻1804條經驗 獲得超7個贊

如果要使用列名來選擇列,只需使用.(),這是別名list():


library(data.table)

dt <- data.table(a = 1:2, b = 2:3, c = 3:4)

dt[ , .(b, c)] # select the columns b and c

# Result:

#    b c

# 1: 2 3

# 2: 3 4


查看完整回答
反對 回復 2019-10-16
  • 3 回答
  • 0 關注
  • 506 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號