Как выбрать дела в R? - PullRequest
       5

Как выбрать дела в R?

2 голосов
/ 27 января 2020

Я стремлюсь совершить переход от 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

Благодарен за любые предложения.

Спасибо.

Ответы [ 2 ]

3 голосов
/ 27 января 2020

Вместо 2019dataset$income~=0

попробуйте 2019dataset$income!=0, если хотите "не равно"

или 2019dataset$income==0, если хотите "равно"

Пробелы может сделать чтение более понятным, поэтому 2019dataset$income != 0 или 2019dataset$income == 0 будут улучшением, и вам может не понадобиться which, но они менее важны

2 голосов
/ 28 января 2020

Я перешел с SPSS на R и предпочитаю использовать пакет tidyverse, который, на мой взгляд, немного более интуитивен.

Ваш код будет выглядеть примерно так:

library(tidyverse)    
selected_2019dataset <- 2019dataset %>%
    filter(hhweight > 0 & income == 0 & age > 16 & age < 59)
...