【发布时间】:2018-11-01 04:34:48
【问题描述】:
我正在使用 R 的“rehh”包。
我从包的 data2haplohh 函数创建了一个 haplohh 类的对象 chr21。
现在当我尝试将其写入文件时:
write.table(chr21, file = "CHR21", append = FALSE, quote = TRUE,sep = "\t", eol="\n", na= "NA", dec=".", row.names=TRUE, col.names=TRUE)
我得到的错误是:
as.data.frame.default(x[[i]], optional = TRUE) 中的错误: 不能将类“结构(“haplohh”,包=“rehh”)”强制为data.frame
当我尝试打印 chr21 的前 10 行时,
head(chr21, n=10)
我收到此错误:
x[seq_len(n)] 中的错误:“S4”类型的对象不是子集
好的,现在添加 str(chr21) 的输出:
str(chr21)
正式类 'haplohh' [package "rehh"] 有 6 个插槽
..@ haplo : num [1:10, 1:1010554] 0 2 2 2 0 2 0 2 0 2 ...
..@ 位置:数字 [1:1010554] 9411410 9411645 9411785 9412503 9413228 ...
..@ snp.name: chr [1:1010554] "rs78200054" "rs71235074" "rs71235075" "rs71220884" ...
..@ chr.name: chr "21"
..@ nhap : int 10
..@ nsnp : int 1010554
我是 R 的新手,如果我能知道哪里出错以及如何解决这个错误,那就太好了。
提前致谢!
【问题讨论】:
-
请提供
chr21对象。在不知道输入对象的情况下很难猜出问题所在。还要考虑write.csv只接受data.frames 对象或对data.frame的强制对象。 -
可能有特定的方法可以到达对象的不同插槽
-
您能否将以下命令 str(chr21) 的输出添加到您的问题中。这将有助于确定您收到此错误的原因。
-
@Katia:请立即检查问题
-
@nicola :我在问题中添加了一些信息。请检查
标签: r