【发布时间】:2018-12-04 09:39:07
【问题描述】:
我正在尝试将各种列与rowSums 一起添加,但我遇到了一些问题。以下是列名列表:
colnames(No_Low_No_Intergenic_snpeff)
"CHROM" "POS" "REF" "ALT" "QUAL" "ANN.ALLELE" "ANN.EFFECT"
"ANN.IMPACT" "ANN.GENE" "ANN.GENEID" "ANN.FEATURE" "ANN.FEATUREID"
"ANN.HGVS_C" "ANN.HGVS_P" "ANN.ERRORS" "GEN.C02141.GT" "GEN.C00611.GT"
"GEN.C00633.GT" "GEN.C00634.GT" "GEN.C00644.GT" "GEN.C00647.GT" "GEN.C00648.GT"
"GEN.C00649.GT" "GEN.C00650.GT" "GEN.C00653.GT" "GEN.C00655.GT" "GEN.C00656.GT"
"GEN.C00657.GT" "GEN.C00659.GT" "GEN.C00682.GT" "GEN.C00705.GT" "GEN.C00707.GT"
"GEN.C00720.GT" "GEN.C00783.GT" "GEN.C01431.GT" "GEN.C01944.GT" "GEN.C01943.GT"
"GEN.C01403.GT" "GEN.C01158.GT" "GEN.C01157.GT" "GEN.C01156.GT" "GEN.C01033.GT"
"GEN.C00736.GT" "GEN.C00639.GT" "GEN.C99686.GT"
我正在使用的所有列都标有GEN.Cxxxxx.GT,并且这些列中的所有值都在 0-2 之间。我正在尝试对第 20:29 列和第 45 列求和,然后将这些值放在一个名为 controls 的新列中:
No_Low_No_Intergenic_snpeff.scores$controls <- rowSums(No_Low_No_Intergenic_snpeff.scores[,20:29,45])
但是当我尝试运行该命令时,我收到以下错误:
Error in rowSums(No_Low_No_Intergenic_snpeff.scores[, 20:29, 45]) : 'x' must be numeric
数据
str(No_Low_No_Intergenic_snpeff.scores)
'data.frame': 1000 obs. of 11 variables:
$ GEN.C00644.GT: Factor w/ 3 levels "0","1","2": 3 1 1 3 3 3 2 1 3 1 ...
$ GEN.C00647.GT: Factor w/ 3 levels "0","1","2": 3 1 3 3 2 2 2 1 2 1 ...
$ GEN.C00648.GT: Factor w/ 3 levels "0","1","2": 3 1 1 3 3 3 1 1 2 1 ...
$ GEN.C00649.GT: Factor w/ 3 levels "0","1","2": 3 1 1 3 2 2 2 1 2 1 ...
...
【问题讨论】:
-
你有一个错误:
rowSums(No_Low_No_Intergenic_snpeff.scores[,c(20:29,45)])需要将20:29, 45包裹在c()中 -
那也没有做到
No_Low_No_Intergenic_snpeff.scores$controls <- rowSums(No_Low_No_Intergenic_snpeff.scores[,c(20:29,45)])Error in rowSums(No_Low_No_Intergenic_snpeff.scores[, c(20:29, 45)]) : 'x' must be numeric -
您确定这些列中的所有值都是
numeric,而不是包含数字的factor或character值吗?提供str(No_Low_No_Intergenic_snpeff.scores[, c(20:29, 45)])的输出可能会有所帮助 -
请发布您的实际数据样本,而不仅仅是列名。否则我们只是猜测打字问题是什么。但正如@emilliman5 所说,R 中的正确索引采用
data[, c(1, 3, 5:7)]的形式,而不是data[, 1, 3, 5:7] -
@Brian 我已将您的
str输出添加到问题中。将来,应将附加信息添加为问题的编辑,而不是 cmets。要发布数据,请使用dput函数。您应该阅读此页面以了解如何提出一个可以快速获得良好答案的好问题:stackoverflow.com/questions/5963269/…
标签: r