这是数据框
df1 <- data.frame("Identifier" = sample(100001:100010, 6, replace = F),
y = sample(rnorm(10), 6, replace = T),
z = sample(rnorm(10), 6, replace = T))
当我想输出一些信息时,将其保存到一个文件中,我使用
write(c(nrow(df1), 2, 1), file="GSE49995_cls.txt", sep = "\t")
write(df1$y, file="GSE49995_cls.txt", append = T, sep = "\t")
write(c("df1$y","df1$x"), file="GSE49995_cls.txt", append = T, sep = "\t")
当我打开文件时,GSE49995_cls.txt,
6 2 1
1.226647 -0.3621273 0.5439381 -1.16689 -0.3621273
-0.3621273
df1$y
df1$x
但我想以这种方式输出
6 2 1
1.226647 -0.3621273 0.5439381 -1.16689 -0.3621273 -0.3621273
df1$y df1$x
每个单词都以制表符空格分隔。有人有想法吗?
答案 0 :(得分:1)
您需要更改ncolumns
的{{1}}参数,默认设置为
write()
所以你的前两个调用将转到5,因此第二个调用将转到第二行。你的第三个调用是1,因为它是一个字符,因此包裹到第二行。将第一个更改为ncolumns = if (is.character(x)) 1 else 5
,将第二个更改为length(df1$y)
将解决问题。
2
运行此代码后,我得到一个文件f <- "GSE49995_cls.txt"
write(c(nrow(df1), 2, 1), file = f, sep = "\t")
write(df1$y, file = f, ncolumns = length(df1$y), append = TRUE, sep = "\t")
write(c("df1$y","df1$x"), file = f, ncolumns = 2, append = TRUE, sep = "\t")
,如下所示。
GSE49995_cls.txt
或者,您可以使用6 2 1
0.7413901 0.9874447 -0.2382336 -0.9549439 0.9874447 -0.5963106
df1$x df1$y
,而不必担心这一点。
cat()