【问题标题】:writing single column to .csv in R在 R 中将单列写入 .csv
【发布时间】:2018-04-06 22:09:57
【问题描述】:

大家好:我正在尝试将长度 = 100 的向量写入 R 中的单列 .csv。每次尝试时,我都会在 csv 文件中得到两列:首先是向量中的索引号,第二个是我的向量的内容。例如:

MyPath<-("~/rstudioshared/Data/HW3")
Files<-dir(MyPath)
write.csv(Files,"Names.csv",row.names = FALSE)

如果我将向量转换为数据框,然后检查其尺寸,

Files<-data.frame(Files)
dim(Files)

我得到 100 行 1 列,该列包含我的目录文件夹中文件的名称。这就是我想要的。

然后我编写 csv。当我在 R 之外打开它或将其读回并查看时,我得到一个 100 X 2 DF,其中第一列包含索引号,第二列包含我的文件的名称。

  1. 为什么会这样?
  2. 如何仅将单列数据写入 .csv?

谢谢!

【问题讨论】:

  • 无法重现。对我来说很好。
  • 你在转换为data.frame之后使用write.csv(Files,"Names.csv",row.names = FALSE)了吗?
  • 无法重现 - 使用 row.names = FALSE 输出写入 1 列

标签: r csv


【解决方案1】:

默认情况下,行名称由write.csv() 编写(默认情况下,具有n 行的数据框将具有行名称1,...,n)。您可以通过查看例如:

dat <- data.frame(mevar=rnorm(10))

# then compare what gets written by:
write.csv(dat, "outname1.csv")

# versus: 
rownames(dat) <- letters[1:10]
write.csv(dat, "outname2.csv")

只需使用write.csv(dat, "outname.csv", row.names=FALSE),行名将不会显示。

还有一个建议:将向量直接写入带有writeLines(your_vector, "your_outfile.txt") 的文本文件可能更容易/更干净(如果您更喜欢使用它,您仍然可以使用read.csv() 将其读回:p)。

【讨论】:

  • 我太新手了,我的赞成票无法显示,但谢谢。这就像一个魅力,我也很感激这个建议!
  • 好!顺便说一句,您应该能够“接受”答案(这很可能也会为您赢得徽章或smthg ~~)
猜你喜欢
  • 2015-11-30
  • 2018-06-15
  • 2018-06-01
  • 2020-08-25
  • 2012-01-02
  • 2018-07-04
  • 2015-11-10
  • 2019-09-20
  • 1970-01-01
相关资源
最近更新 更多