【发布时间】:2019-11-28 13:04:20
【问题描述】:
我对 R 相当陌生,并且多次遇到子集数据帧的问题。我找到了解决方法,但只是想了解我缺少什么。
这是一段示例代码,我不明白其中的功能差异。
示例数据框:
df <- data.frame(V1 = c(1:10), V2 = c(rep(1, times = 10)))
这会产生“选择了未定义的列”错误:
df1 <- df[df$V1 < 5, df$V2]
但这有效:
df2 <- df[df$V1 < 5, 2]
我不明白为什么当通过 $V2 按名称引用列时,我收到的结果与按编号引用同一列时不同。
这是一个非常基本的问题,我知道,但我只是想了解一下。
谢谢,如果格式关闭或其他任何事情(第一次发布..),也很抱歉,
克里斯托夫
【问题讨论】:
-
为什么可能很难回答......但正确语法的例子是
df[df$V1 < 5, "V2"]或df[df$V1 < 5, ]$V2