【问题标题】:read.csv directly into character vector in R将 read.csv 直接读取到 R 中的字符向量中
【发布时间】:2014-03-04 03:29:36
【问题描述】:

此代码有效,但是,我想知道是否有更有效的方法。我有一个包含单列股票代码的 CSV 文件。然后我将此 csv 读入 R 并使用 for 循环将函数应用于每个股票代码。

我读入csv,然后进入数据框,拉出for循环需要正常运行的字符向量。

SymbolListDataFrame = read.csv("DJIA.csv", header = FALSE, stringsAsFactors=F)
SymbolList = SymbolListDataFrame[[1]]

for (Symbol in SymbolList){...}

有没有办法把我写的前两行合二为一?也许 read.csv 不是最好的命令?

谢谢。

更新

我正在使用 Jake 和 Bartek 建议的 readlines 方法。 csv 文件中出现“incomplete final line found on”警告,但我忽略了它,因为数据是正确的。

【问题讨论】:

    标签: r csv dataframe


    【解决方案1】:
    SymbolList <- readLines("DJIA.csv")
    

    【讨论】:

    • 谢谢杰克,它做到了。创建数据框然后从中提取是没有意义的。我确实收到了一条警告消息,发现最后一行不完整...我只是忽略它,因为我想要的数据实际上是正确的。
    • @user2926358 您可以忽略该警告,通过执行suppressWarnings(readLines("DJIA.csv")) 来抑制它或在文件末尾添加一个空行
    【解决方案2】:
    SymbolList <- read.csv("DJIA.csv", header = FALSE, stringsAsFactors=F)[[1]]
    

    【讨论】:

      【解决方案3】:

      readLines 函数是这里的最佳解决方案。 请注意,read.csv 函数不仅用于读取具有 csv 扩展名的文件。这只是 read.table 函数,其参数如 header 或 sep 设置不同。查看文档以获取更多信息。

      【讨论】:

      • 谢谢巴泰克。我知道这一点。我非常习惯使用 read.csv,因为我几乎所有的 R 工作都涉及以 csv 格式存储的数据帧。
      猜你喜欢
      • 2021-12-07
      • 1970-01-01
      • 2015-07-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-14
      • 1970-01-01
      相关资源
      最近更新 更多