【问题标题】:INTEGER() can only be applied to a 'integer', not a 'double' in R?INTEGER() 只能应用于“整数”,而不是 R 中的“双精度”?
【发布时间】:2019-07-03 21:08:06
【问题描述】:

我有一个由 16 个变量(列)和 64 个观察值(行)组成的 data.frame “data1”。变量取 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

数据文件是我作为 .csv 文件导入 R 的 excel 文件。我使用以下代码将变量的名称更改为更短的名称:

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

查看我的数据的结构是什么,它说我所有的变量都是整数,但我被卡住了,不知道为什么会出现这个错误?

谁能帮我解决?我在之前的问题中进行了搜索,但找不到适合我的情况的答案。

提前致谢, 埃什梅尔

【问题讨论】:

  • str(cleaned_data) 的输出是什么?
  • 您的数据很可能不是整数,而是双精度数。只需将 as.integer 用于所有变量。
  • @NelsonGon 输出是所有变量都是整数,但我仍然得到那个错误。
  • 您能试试看我的回答是否有帮助吗?正确重命名后,我无法重现您的问题。请编辑添加str(cleaned_data)的输出。
  • @thc 我做了,但错误又出现了。

标签: r integer double


【解决方案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 
---------------------------------------------------------------------------------------------------------------------------- 

【讨论】:

    猜你喜欢
    • 2016-02-18
    • 2016-02-26
    • 2017-04-22
    • 1970-01-01
    • 2022-01-09
    • 1970-01-01
    • 1970-01-01
    • 2014-07-13
    • 1970-01-01
    相关资源
    最近更新 更多