【问题标题】:Problems by reading csv file into R将csv文件读入R的问题
【发布时间】:2020-08-11 12:56:26
【问题描述】:

刚从 R 开始并尝试将一个巨大的 csv 文件读入 R。

原始数据包含 3452 个观测值和 1331 个变量。 (我在 Windwos 10 上使用 64 位版本的 R。)

我试过了:

  1. mydata
  2. mydata

但是在将文件读入 R 之后,所有值都显示在一个变量(列)下,而其他列(1331)仅包含所有 3452 行中的“NA”值。Data file in R

有谁知道如何解决这个问题?

谢谢

【问题讨论】:

  • mydata 是什么数据类型?数据框?您可能希望包含 stringsAsFactors=FALSE 并确保 CSV 编码正确(并非所有 csv 都是平等创建的)。
  • 请在您的帖子中发布 csv 的内容,而不是图片。在文本编辑器中打开 csv,然后使用代码格式 (CTRL/CMD + K) 复制/粘贴。

标签: r csv


【解决方案1】:

我怀疑您的图片来自电子表格,在这种情况下,带有逗号的“列”将使用引号分隔保存,以将逗号保留在一个单元格中。一种测试方法:

writeLines(c('"a,b"','"1,2"','"3,4"'), "foo.csv")
dat <- readLines("foo.csv")
dat[1:2]
# [1] "\"a,b\"" "\"1,2\""

read.csv("foo.csv") ### obviously a problem
#   a.b
# 1 1,2
# 2 3,4

(注意额外的前导/尾随双引号。)

我认为最终这应该在源头上解决,因为它可以说是任何创建(或错误编辑)该文件的问题。在那之前,这里有一个可能的 R 修复:

read.csv(text = gsub('(^"|"$)', '', readLines("foo.csv")))
#   a b
# 1 1 2
# 2 3 4

【讨论】:

  • @NirbhaySingh,在评论中提出这样的答案编辑建议通常更有意义。
猜你喜欢
  • 2016-01-01
  • 2020-10-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-24
  • 1970-01-01
相关资源
最近更新 更多