假设我们有以下数据框:
> df
  A B C
1 1 2 3
2 4 5 6
3 7 8 9
我们可以从索引中选择列'B':
> df[,2]
[1] 2 5 8
有没有办法从列标签('B')获取索引(2)?
Hen*_*rik 100
您可以通过获得指数grep和colnames:
grep("B", colnames(df))
[1] 2
或使用
grep("^B$", colnames(df))
[1] 2
仅获得名为"B"的列,而不包含那些包含B的列,例如"ABC".
NPE*_*NPE 82
以下将这样做:
which(colnames(df)=="B")
我想查看colnames的所有索引,因为我需要进行复杂的列重新排列,所以我将colnames打印为数据帧.rownames是索引.
as.data.frame(colnames(df))
1 A
2 B
3 C
继上面嵌合体的回答之后:
为了获取df中的所有列索引,我使用了:
which(!names(df)%in%c()) 
或存储在列表中:
indexLst<-which(!names(df)%in%c())