2016-10-27 54 views
-1

我中的R Studio中的数据集(matchdata),我试图使用于子集:子集命令导致错误

matchdatasub <- subset(matchdata, sample = 1) 

“样品”是从0-1

该二进制变量上面的代码可以工作,但不会将数据分组。如果我运行以下代码:

matchdatasub <- subset(matchdata, sample > 0) 

我收到错误消息:比较(6)仅可用于原子和列表类型。

任何想法?

+1

请检查''==用'='。 '子集(matchdata,样本== 1)'。关于错误,我会要求你检查'str(matchdata)'。这可能是一个'矩阵' – akrun

回答

1

你也可以直接使用子集数据帧:

matchdatasub <- matchdata[matchdata$sample > 0, ] 

如前所述@akrun,你的错误的可能根源是,你正在使用sample=1代替sample==1。因此,使用下列之一:

matchdatasub <- subset(matchdata, sample==1) 

matchdatasub <- matchdata[matchdata$sample == 1, ] 
+0

谢谢。试着用两种编码建议。首先没有删除任何意见(与原文相似)。其次删除所有观察。 – MWS

+0

我试过str(matchdata),并得到了样本:int 0 0 0 0 1 .... – MWS

+0

请告诉我们这个输出:'class(matchdata $ sample)'...你可以有一个因子变量 –

相关问题