INTEGER () может применяться только к «целому числу», а не к «двойному» в R? - PullRequest
0 голосов
/ 10 февраля 2019

У меня есть data.frame "data1", состоящий из 16 переменных (столбцы) и 64 наблюдений (строки).Переменные принимают значение 0 или 1 для наличия и отсутствия переменных (o является переменной результата):

x    y    z    o
1    0    1    1
1    1    1    1
0    0    1    1
0    1    0    1
1    0    0    1
1    1    0    1
0    0    0    1
0    0    1    1

Файл данных был файлом Excel, который я импортировал в R как файл .csv.Я изменил имя переменных на более короткие, используя следующий код:

require(dplyr)
library(QCA)
cleaned_data <- data1 %>% 
dplyr::rename_(
'x'  = 'treatmentconcerns.revelationabout',
'y'  = 'treatmentconcerns.familyconcerns',
'z'  = 'treatmentconcerns.familyemotional',
'o'  = 'outcmomy'
 )

Я собираюсь провести анализ качественного сравнительного анализа (QCA), используя следующий код:

data1NR <- superSubset(cleaned_data, outcome = "OUTC", incl.cut = 0.9, cov.cut = 0.5)

Но R приносит следующую ошибку, и я не знаю, как ее решить:

Error in superSubset(cleaned_data, outcome = "OUTC", incl.cut = 0.9, cov.cut = 0.5) : 
INTEGER() can only be applied to a 'integer', not a 'double'

Я использовал:

str()

, чтобы увидеть структуру моих данных иговорит, что все мои переменные являются целыми числами, но я застрял и не понимаю, почему эта ошибка возвращается?

Может кто-нибудь помочь мне решить ее?Я искал в предыдущих вопросах, но не смог найти ответ, который подходит для моего случая.

Заранее спасибо, Эшмель

Codes

codes

1 Ответ

0 голосов
/ 10 февраля 2019

Я думаю, что проблема в именной части: имя должно стоять на первом месте, и я не уверен, сработало ли оно для вас:

df %>% 
  rename(Treatment=x)

В вашем случае вам понадобится что-то вроде:

clean<-df %>% 
  rename(
    treatmentconcerns.revelationabout=x,
     treatmentconcerns.familyconcerns=y,
    treatmentconcerns.familyemotional=z,
    outcmomy=o)

Это работает для меня:

superSubset(clean, outcome ="outcmomy", incl.cut = 0.9, cov.cut = 0.5)

                                                                                                         inclN  RoN    covN  
---------------------------------------------------------------------------------------------------------------------------- 
1  TREATMENTCONCERNS.REVELATIONABOUT+treatmentconcerns.familyconcerns+treatmentconcerns.familyemotional  1.000  0.000  1.000 
---------------------------------------------------------------------------------------------------------------------------- 
...