我想排除x
值小于或等于-10的行,所以我写了这个:
newdata <- data[which(data$x> -10), ]
这是正确的还是我需要将-10放在双引号中?
谢谢。
答案 0 :(得分:2)
(决定将其从评论升级为答案。)
1 > "-10"
是FALSE
(!!),因为R比较字符串的方式。<-
进行分配可能让您遇到麻烦;如果您希望x<-10
进行比较而不是将值10分配给x
,则需要空格x < -10
或括号(x<(-10)
)。但是,>
比较不会出现这种情况。x > (-10)
),您可以随时使用括号;唯一的缺点是如果使用太多(例如data[(which(((data$x)>(-10)))),])
),事情会变得更难阅读。例如:
x <- c(-20,-15,-10,-4,0)
x[x>-10]
## -4 0