我渴望从SPSS到R。
SPSS中使用的常见命令是应用过滤。有人可以建议我为什么收到错误消息吗?
2019dataset=read.spss("C:\\SPSS data\\2019dataset.sav")
selected_2019dataset <- 2019dataset[ which(2019dataset$hhweight > 0 & 2019dataset$income~=0 & 2019dataset$age > 16 & 2019dataset$age < 59),]
我收到一个错误消息,说有一个意外的'='
我尝试以SPSS语法复制的过滤器是:
SELECT IF ((hhweight > 0) AND (income~=0) AND (age > 16 AND age <59)).
我一直在关注以下示例:
https://www.statmethods.net/management/subset.html
感谢任何建议。
谢谢。
答案 0 :(得分:3)
代替2019dataset$income~=0
如果您想“不等于”,请尝试2019dataset$income!=0
或2019dataset$income==0
(如果要“等于”
空格可能使阅读更清晰,因此2019dataset$income != 0
或2019dataset$income == 0
会有所改善,您可能不需要which
,但这并不重要
答案 1 :(得分:2)
我从SPSS过渡到R,我更喜欢使用tidyverse程序包,我认为它更直观。
您的代码应类似于:
library(tidyverse)
selected_2019dataset <- 2019dataset %>%
filter(hhweight > 0 & income == 0 & age > 16 & age < 59)