“子集”和“$运算符对原子向量无效”

时间:2016-02-22 11:30:07

标签: r vector subset atomic

花了3个小时试图了解我的文件发生了什么

错误的方式:子集

的子集
DataA=subset(Data,Data$var1=="1")
DataA$newvar=Results$cluster
DataB=subset(DataA,Data$newvar=="7")

GOOD WAY:每个对象一个子集

DataA_var1=subset(Data,Data$var1=="1")
DataA_var1$newvar=Results$cluster
DataB=subset(DataA_var1,Data$newvar=="7")

我在$ operator is invalid for atomic vectors上看了很多 在我的情况下,此错误也与“不正确的维数”相关联(我尝试了这个技巧as.data.frame()) 我安装了最后一个RStudio版本。

我的观点是:如果您遇到$ operator is invalid for atomic vectors错误,则typeof()问题不是必需的...... 尝试查看您是否在同一对象上使用了两次subset()

1 个答案:

答案 0 :(得分:1)

您可以尝试以下方式:

DataA <- subset(Data, var1 == "1")
DataA$newvar <- Results$cluster
DataB <- subset(DataA, newvar == "7")

第一行应理解为“DataA获取Data的子集,其中var1等于1。”

出于语法目的,我建议使用“&lt; - ”而不是“=”用于R目的。

相关问题