R 按索引获取列名无法正常工作
我有一个如下所示的数据集:R 按索引获取列名无法正常工作,r,syntax,data.table,R,Syntax,Data.table,我有一个如下所示的数据集: set.seed(1) TDT <- data.table(Group = c(rep("A",40),rep("B",60)), Id = c(rep(1,20),rep(2,20),rep(3,20),rep(4,20),rep(5,20)), Time = rep(seq(as.Date("2010-01-03"), length=20, by="1 month") -
set.seed(1)
TDT <- data.table(Group = c(rep("A",40),rep("B",60)),
Id = c(rep(1,20),rep(2,20),rep(3,20),rep(4,20),rep(5,20)),
Time = rep(seq(as.Date("2010-01-03"), length=20, by="1 month") - 1,5),
norm = round(runif(100)/10,2),
x1 = sample(100,100),
x2 = round(rnorm(100,0.75,0.3),2),
x3 = round(rnorm(100,0.75,0.3),2),
x4 = round(rnorm(100,0.75,0.3),2),
x5 = round(rnorm(100,0.75,0.3),2))
xnumcols <- which(sapply(TDT, is.numeric)) # gives 2 4 5 6 7 8 9
xstringnumcols = names(xnumcols)[xnumcols]
set.seed(1)
TDTxstringnumcols=names(xnumcols)[xnumcols]
可能不是您想要的,因为您对data.frame的列的名称感兴趣
怎么样:xstringnumcols=colnames(TDT)[xnumcols]
xstringnumcols=names(xnumcols)[xnumcols]
可能不是您想要的,因为您对data.frame的列的名称感兴趣
如何:xstringnumcols=colnames(TDT)[xnumcols]
这是因为您正在对xnumcols
而xnumcols
已经是您想要的了
xnumcols
# Id norm x1 x2 x3 x4 x5
# 2 4 5 6 7 8 9
names(xnumcols)
#[1] "Id" "norm" "x1" "x2" "x3" "x4" "x5"
这是因为您正在子集xnumcols
而xnumcols
已经是您想要的了
xnumcols
# Id norm x1 x2 x3 x4 x5
# 2 4 5 6 7 8 9
names(xnumcols)
#[1] "Id" "norm" "x1" "x2" "x3" "x4" "x5"
这就是您想要做的:名称(筛选器(Is.numeric,TDT))
?谢谢,它是。。那我就用这个。但是我的代码不应该工作吗?我真的认为它有点太“复杂”。可能会将其改写为:names(sappy(TDT,is.numeric))
这就是您要执行的操作:names(Filter(is.numeric,TDT))
?谢谢,它是。。那我就用这个。但是我的代码不应该工作吗?我真的认为它有点太“复杂”。可以这样重写:names(sappy(TDT,is.numeric))