我有一个数据框,我想调用具有特定值的特定列。
像这样:
the.dataframe$gender[the.dataframe$gender=="male"]
或者这个:
male <- subset(the.dataframe, gender == 1, select = gender)
我无法做到的是让它可以动态更改性别变量,因为$不能使用对象:
x <- "gender"
male <- subset(the.dataframe, x == 1, select = x)
我想我在某个地方看到了答案,但我无法重新安置它:/
---- ---- EDIT
我终于找到了我认为最好的解决方案。 来自 thelatemail 的评论帮助了我,但当我只想要相关列时,解决方案会返回整个数据框。 我知道[[]]命令,但不确定它是如何工作的。 经过几次测试后我才做到了:
x <- gender
the.dataframe[[x]][the.dataframe[[x]]=="male"]
来自Michele Usuelli的解决方案只返回正确的列,因为我的问题是从列中返回特定的案例。 Roth Das的答案非常有效,但我发现设置有点令人困惑。
答案 0 :(得分:1)
你可以使用[[
name_column <- "gender"
the.dataframe[[name_column]]
答案 1 :(得分:0)
如果你想访问其他列,也可以使用上面的Alternale版本。
colname <- "gender"
df[df[,colname] == "male",colname]