Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 对比度只能应用于系数_R_Variables - Fatal编程技术网

R 对比度只能应用于系数

R 对比度只能应用于系数,r,variables,R,Variables,我有一个关于R的问题 我正在使用一个名为levene.test的测试来测试方差的同质性 我知道你需要一个至少有两个级别的因子变量,这样才能工作。从我所看到的,我使用的因子变量至少有两个级别。但不知怎的,我一直在犯这样的错误: > nocorlevene <- levene.test(geno1rs11809462$SIF1, geno1rs11809462$k, correction.method = "correction.factor") Error in `contr

我有一个关于R的问题

我正在使用一个名为levene.test的测试来测试方差的同质性

我知道你需要一个至少有两个级别的因子变量,这样才能工作。从我所看到的,我使用的因子变量至少有两个级别。但不知怎的,我一直在犯这样的错误:

> nocorlevene <- levene.test(geno1rs11809462$SIF1, geno1rs11809462$k, correction.method = "correction.factor")

    Error in `contrasts<-`(`*tmp*`, value = contr.funs[1 + isOF[nn]]) : 
      contrasts can be applied only to factors with 2 or more levels
你可以看到变量k,sex分别有3级和2级,但不知怎的,我还是得到了错误信息

> head(geno1rs11809462)
                        id rs11809462   FID AGE_CALC  MREFSUM NORSOUTH smoke1 smoke2 ANYCG60
1 WG0012669-DNA_A03_K05743        2/2  9370     61.0 184.5925        0      1      0       0
2 WG0012669-DNA_A04_K05752        2/2  9024     47.0 325.0047        0      1      0       0
3 WG0012669-DNA_A05_K05761        2/2 14291       NA       NA       NA     NA     NA      NA
4 WG0012669-DNA_A06_K05785        2/2  4126     62.5 211.2557        0      0      1       1
5 WG0012669-DNA_A08_K05802        2/2 11280     55.6 212.2922        0      0      1       0
6 WG0012669-DNA_A09_K05811        2/2 11009     59.7 261.0116        0      0      1       0
  DCCT_HBA_MEAN EDIC_HBA HBAEL ELDTED_HBA    SIF1 sex k
1          7.39     7.17  7.30       7.23 19.6136   0 0
2          6.93     7.63  8.82       7.76 17.0375   0 0
3            NA       NA    NA         NA      NA   1 1
4          7.37     8.66  9.10       8.36 23.8333   1 2
5          7.56     9.68  9.30       9.21 24.1338   1 0
6          7.86     7.74  8.53       7.92 25.7272   1 2
如果有人能给我一些关于为什么会发生这种情况的提示,那就太好了。我只是不知道为什么当我运行测试时,变量k或sex或具有不同的级别会给我错误


谢谢

您需要将变量实际转换为
因子
。仅仅有三个(或有限)数量的值并不一定使其成为一个因素


使用
x我想我可能已经解决了这个问题。我相信这是由于数据中的NA值。因为在我用say删除了na之后

x<-na.omit(original_data)

x如果您的因子只有一个级别,您将得到此错误。要查看因子变量的级别,请使用
lappy(df,levels)
。对于非因子变量,它不会返回任何结果,但可以很容易地让您确定哪个变量是违规者。如果像我一样,你有数百个变量,这尤其有用。

你可能会更幸运地在交叉验证中找到答案:请发布一个可复制的示例。我无法用示例数据再现错误。嗨,斯文,这是否意味着你在使用我的数据时不会得到相同的错误?因为我确实收到了错误消息。嗨,本,我已经添加了上面的输出。对不起,我不知道如何使它看起来像一张桌子。我只是粘贴了R的输出。嗨,我认为它们已经是因子变量(sex或k)。这就是我所拥有的:>类(geno1rs11809462$k)[1]“因子”>类(geno1rs11809462$sex)[1]“因子”>属性(geno1rs11809462$k)]错误:意外“>attributes(geno1rs11809462$k)]属性(geno1rs11809462$levels[1]“0”“1”“2”$class[1]“因子”>属性(geno1rs11809462$sex)$levels[1]“0”“1”$class[1]“因子”您好@john_w,请编辑您复制和粘贴的内容。如果有错误或打字错误,请在输入前将其删除posting@john_w,您没有在测试中使用变量
sex
。您正在使用变量
SIF1
。参见您的帖子:“
levene.test(geno1rs11809462$SIF1,geno1rs11809462$k,correction.method=“correction.factor”)
”Hi-Ricardo,SIF1变量是一个连续变量。所以我不认为这个叫做SIF1的变量应该被当作因子。是这样吗?
Error in `contrasts<-`(`*tmp*`, value = contr.funs[1 + isOF[nn]]) : 
  contrasts can be applied only to factors with 2 or more levels
> str(geno1rs11809462)
'data.frame':   1304 obs. of  16 variables:
 $ id           : chr  "WG0012669-DNA_A03_K05743" "WG0012669-DNA_A04_K05752" "WG0012669-DNA_A05_K05761" "WG0012669-DNA_A06_K05785" ...
 $ rs11809462   : Factor w/ 2 levels "2/1","2/2": 2 2 2 2 2 2 2 2 2 2 ...
  ..- attr(*, "names")= chr  "WG0012669-DNA_A03_K05743" "WG0012669-DNA_A04_K05752" "WG0012669-DNA_A05_K05761" "WG0012669-DNA_A06_K05785" ...
 $ FID          : chr  "9370" "9024" "14291" "4126" ...
 $ AGE_CALC     : num  61 47 NA 62.5 55.6 59.7 46.6 41.2 NA 46.6 ...
 $ MREFSUM      : num  185 325 NA 211 212 ...
 $ NORSOUTH     : Factor w/ 3 levels "0","1","NA": 1 1 3 1 1 1 1 1 3 1 ...
 $ smoke1       : Factor w/ 3 levels "0","1","NA": 2 2 3 1 1 1 2 1 3 1 ...
 $ smoke2       : Factor w/ 3 levels "0","1","NA": 1 1 3 2 2 2 1 2 3 2 ...
 $ ANYCG60      : num  0 0 NA 1 0 0 0 0 NA 1 ...
 $ DCCT_HBA_MEAN: num  7.39 6.93 NA 7.37 7.56 7.86 6.22 8.88 NA 8.94 ...
 $ EDIC_HBA     : num  7.17 7.63 NA 8.66 9.68 7.74 6.59 9.34 NA 7.86 ...
 $ HBAEL        : num  7.3 8.82 NA 9.1 9.3 ...
 $ ELDTED_HBA   : num  7.23 7.76 NA 8.36 9.21 7.92 6.64 9.64 NA 9.09 ...
 $ SIF1         : num  19.6 17 NA 23.8 24.1 ...
 $ sex          : Factor w/ 2 levels "0","1": 1 1 2 2 2 2 1 1 1 1 ...
 $ k            : Factor w/ 3 levels "0","1","2": 1 1 2 3 1 3 3 3 1 2 ...
> head(geno1rs11809462)
                        id rs11809462   FID AGE_CALC  MREFSUM NORSOUTH smoke1 smoke2 ANYCG60
1 WG0012669-DNA_A03_K05743        2/2  9370     61.0 184.5925        0      1      0       0
2 WG0012669-DNA_A04_K05752        2/2  9024     47.0 325.0047        0      1      0       0
3 WG0012669-DNA_A05_K05761        2/2 14291       NA       NA       NA     NA     NA      NA
4 WG0012669-DNA_A06_K05785        2/2  4126     62.5 211.2557        0      0      1       1
5 WG0012669-DNA_A08_K05802        2/2 11280     55.6 212.2922        0      0      1       0
6 WG0012669-DNA_A09_K05811        2/2 11009     59.7 261.0116        0      0      1       0
  DCCT_HBA_MEAN EDIC_HBA HBAEL ELDTED_HBA    SIF1 sex k
1          7.39     7.17  7.30       7.23 19.6136   0 0
2          6.93     7.63  8.82       7.76 17.0375   0 0
3            NA       NA    NA         NA      NA   1 1
4          7.37     8.66  9.10       8.36 23.8333   1 2
5          7.56     9.68  9.30       9.21 24.1338   1 0
6          7.86     7.74  8.53       7.92 25.7272   1 2
<..cropped..>
$ SIF1         : num  19.6 17 NA 23.8 24.1 ...
$ sex          : Factor w/ 2 levels "0","1": 1 1 2 2 2 2 1 1 1 1 ...
$ k            : Factor w/ 3 levels "0","1","2": 1 1 2 3 1 3 3 3 1 2 ...
 geno1rs11809462$SIF1 <- factor(geno1rs11809462$SIF1)
x<-na.omit(original_data)