从数据框中的标签获取列索引
假设我们有以下数据框架:
> df ABC 1 1 2 3 2 4 5 6 3 7 8 9
我们可以从索引中select“B”列:
> df[,2] [1] 2 5 8
有没有办法从列标签('B')获取索引(2)?
你可以通过grep
和colnames
得到索引:
grep("B", colnames(df)) [1] 2
或使用
grep("^B$", colnames(df)) [1] 2
只能得到名为“B”的列,而不包含例如“ABC”的B的列。
以下将做到这一点:
which(colnames(df)=="B")
我想看到所有的colnames索引,因为我需要做一个复杂的列重排 ,所以我打印的colnames作为一个数据框。 rownames是指数。
as.data.frame(colnames(df)) 1 A 2 B 3 C