0

我想将包“qtl”中的 fake.bc.Rdata 导出到 CSV 中,并且在运行“summary”时它显示这是一个“cross”类的对象,这使我无法转换它。我尝试使用重新保存,但有警告:无法将类'c(“bc”,“cross”)'强制转换为data.frame。

提前感谢大家的帮助!

4

1 回答 1

0

CSV 代表逗号分隔值,并不适合所有类型的数据。它需要,如评论中所示,清除列和行。

以这个 JSON 为例:

{ 
"name":"John",
 "age":30,
 "likes":"Walking","Running"
}

如果你用 CSV 格式来表示它,你将如何处理长度上的差异?一种方法是重复数据

name,age,likes
John,30,Walking
John,30,Running

但这看起来并不正确。即使您将两者合并为一个,您仍然无法读取数据,例如

name,age,likes
John,30,Walking/Running

因此,CSV 最适合整理数据

TL;博士

您的数据能否整齐地表示为逗号分隔值,或者您是否应该寻找导出数据的替代形式?

编辑:

看来您确实有一些选择:如果您查看参考,您可以选择使用 导出数据write.cross()

对于您的数据,您可以使用write.cross(fake.bc, "csv", "myCrossData", c(1,5,13)). 然后它执行以下操作:

逗号分隔格式:以“csv”或“csvr”格式创建单个 csv 文件。为格式“csvs”和“csvsr”创建了两个文件(一个用于基因型数据,一个用于表型数据);如果 filestem="file",这两个文件将分别命名为“file_gen.csv”和“file_phe.csv”。

于 2020-07-04T19:25:14.350 回答