【发布时间】:2012-12-28 15:13:55
【问题描述】:
我有一个格式如下的 csv 文件:
1 3 1 4
1415670_at 1 8.512147859 8.196725061 8.174426394 8.62388149
1415671_at 2 9.119200527 9.190318548 9.149239039 9.211401637
1415672_at 3 10.03383593 9.575728316 10.06998673 9.735217522
1415673_at 4 5.925999419 5.692092375 5.689299161 7.807354922
我通过删除不是 1 或 2 的列对这些数据进行了一些操作:
m<-read.csv("table.csv")
smallerdat <- m[ c(1,2, grep("^X1$|^X2$|X1\\.|X2\\." , names(m) ) ) ]
现在我想再次将此结果保存到 csv 文件中,所以我这样做:
write.csv(smallerdat,"tablemodified.csv",ncolumns=length(smallerdat),sep=",")
但我收到一条错误消息:
Error in cat(list(...), file, sep, fill, labels, append) :
argument 1 (type 'list') cannot be handled by 'cat'
我的问题是如何将修改后的表存储到 csv 文件中。 有什么帮助吗?
【问题讨论】:
-
您的
grep中似乎有错误。我认为您需要在第一个括号前加一个逗号,以确保 R 只选择这些列。 -
@richiemorrisroe:请查看“[”函数。您的建议将返回与原始代码相同的值。如果选择列,则不需要逗号。
-
@Manolo,
ncolumns = length(smallerdat)应该实现什么?您在write.table或write.csv的文档中哪里看到这样的论点? -
@DWin 哇,我不知道。我猜将来会为我节省一个逗号。谢谢你,并为噪音道歉。