最近一直在处理许多不同的数据集,需要一种快速的方法来识别不同列的列数。例如,我有一个包含75个变量(或列)的数据集。我需要使用的变量位于数据集的中间,我知道这些变量的名称,即g,h,I,j和k。而不是每次我想使用它们或更改或引用它们时写下这些变量的名称我通常使用列号,即。
for (i in 35:39) { do bla bla bla}
我找到列号的常用方法是查看数据框并计算列,直到找到我想要的列,然后计算其中有多少可以得到我的35:39。有一个更好的方法吗?有没有更好的方法可以找出列/变量g是列号35,列/变量k是#39?
答案 0 :(得分:3)
只是我评论的扩展版本。正如我所说,有几种方法可以做到这一点,我认为不存在正确的方法。这是一个可能的解决方案(如果我得到你想要达到的目标)。
as.data.frame(cbind(column = 1:ncol(iris),names = names(iris)))
column names
1 1 Sepal.Length
2 2 Sepal.Width
3 3 Petal.Length
4 4 Petal.Width
5 5 Species
通过这种方式,您可以知道哪个列对应的名称。
答案 1 :(得分:2)
如果您想查看哪个列名为g
,您可以
which(names(mydataframe) == 'g')
,它为您提供名称为“g”的列的索引。
答案 2 :(得分:0)
您可以使用match
代替which
,因为您只需要一个列匹配(我认为也会更快)。
match('g',names(mydataframe))