花了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()
。
答案 0 :(得分:1)
您可以尝试以下方式:
DataA <- subset(Data, var1 == "1")
DataA$newvar <- Results$cluster
DataB <- subset(DataA, newvar == "7")
第一行应理解为“DataA获取Data
的子集,其中var1
等于1。”
出于语法目的,我建议使用“&lt; - ”而不是“=”用于R目的。