删除csv文件中的列并存储数据的问题?

时间:2012-12-28 15:13:56

标签: r csv

我有一个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文件中。 有什么帮助吗?

2 个答案:

答案 0 :(得分:3)

write.csv函数需要将文件名作为命名参数给出(与所有write.*表兄弟一样)。试试这个(编辑):

write.csv(smallerdat, file="tablemodified.csv" )

我最初的猜测适用于save()函数而不是write.table变体。

答案 1 :(得分:2)

我打算告诉您阅读?read.csv,并注意“另请参阅”部分指向write.csv ...但事实并非如此。

所以,请使用write.csv。 :)