子集命令导致错误

时间:2016-10-27 07:15:24

标签: r subset

我在R Studio中有一个数据集(matchdata),我尝试使用以下子集:

matchdatasub <- subset(matchdata, sample = 1)

&#34;样品&#34;是0-1

的二进制变量

上面的代码可以工作,但不会对数据进行子集化。如果我运行以下代码:

matchdatasub <- subset(matchdata, sample > 0)

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

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

您也可以使用数据框直接进行子集:

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

正如@akrun所提到的,错误的可能根本原因是您使用的是sample=1而不是sample==1。因此,请使用以下其中一项:

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

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