将表输出写入一行

时间:2014-05-18 11:14:42

标签: r

我将一张表读入R,read.table看起来像是

     V1
[1,] "POS"
[2,] "38500002"
[3,] "38500010"
[4,] "38500069"
[5,] "38500145"
[6,] "38500187"

我需要将它写入文件,但只需一行:

"POS" "38500002" "385000010" ...

我怎么能这样做?

2 个答案:

答案 0 :(得分:2)

您显示的数据可能不是read.table的直接结果,因为read.table会创建data.frame,您显示的是matrix(根据行名称判断)。< / p>

无论哪种方式,如果它是单个列,您可以在转置数据上使用write.table,因为转置会将数据强制转换为矩阵形式。如果您希望将其写入文件,请使用file参数。

## read in the data
> dat <- read.table(h=T, text = 'V1
 "POS"
 "38500002"
 "38500010"
 "38500069"
 "38500145"
 "38500187"')

> write.table(t(dat), col.names = FALSE, row.names = FALSE)
## "POS" "38500002" "38500010" "38500069" "38500145" "38500187"

答案 1 :(得分:0)

如果您有data.frame

df<-data.frame(V1=c("POS","38500002","38500010","38500069", "38500145", "38500187"), stringsAsFactors=F)

你想用引号写出那些值,然后

cat(paste("\"", df$V1, "\"", collapse=" ", sep=""), file="myfile.txt")

应该做得很好。我使用paste来获取有关条款的所有引用。你必须逃避报价才能打印出来。然后cat允许您将输出直接发送到文件