我想访问数据框中的一列,并且列名存储在字符串变量中。
我发现这个问题已针对其他语言,对变量的访问而得到了回答,但对于数据帧中的列却没有回答。
例如:
> df <- iris[1:3,]
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1 5.1 3.5 1.4 0.2 setosa
2 4.9 3.0 1.4 0.2 setosa
3 4.7 3.2 1.3 0.2 setosa
> x <- "Sepal.Length"
我想使用x访问数据框df的第一列。
我天真地尝试了以下方法,但没有成功:
df$[[x]]
df$[x]
df$get(x)
我想它应该很简单,但是我一直找不到。谢谢
答案 0 :(得分:1)
从我这里来
df[x]
来自@ {Rui Barradas:
或df[[x]]
。 [MillionC's返回一个子数据帧。这是一个向量。
来自@ {coffeinjunky:
正如@MillionC指出的那样,如果您删除$
,则前两种方法可以工作。要同时设置列和行,可以使用df[row_ind, col_ind]
。与with
一样,您的get方法也可以与with(df, get(x))
一起使用,尽管我想不出需要使用此构造子集数据帧的示例。