INTEGER()只能应用于R中的“整数”,而不是“双精度”吗?

时间:2019-02-10 01:17:53

标签: r integer double

我有一个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文件,我作为.csv文件导入到R中。我使用以下代码将变量的名称更改为较短的变量:

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 :(得分:1)

我认为问题出在命名部分: 名称应该放在第一位,不确定是否对您有用:

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 
----------------------------------------------------------------------------------------------------------------------------