【问题标题】:Load single-column CSV as value in R将单列 CSV 作为 R 中的值加载
【发布时间】:2016-06-21 05:03:54
【问题描述】:

我想知道如何将单列 CSV 文件(带标题)转换为 R 中的字符列表。我尝试在 RStudio 中将其作为 data.frame 加载,然后使用 as.character 但软件给了我一个带有随机逗号分隔数字的字符串。

我的文件有近 1000 行,我无法使用手动输入它们

sample = c("97_278", "BR5-045", "10-409", ...)

我的文件看起来像这样(前 5 行)

Samples
97_278
BR5-045
10-409
BR8-316
97_420

这是我在 Values 表下使用 as.character 得到的结果

sample_char     "c(235, 310, 103, ..."

这就是我要找的东西

sample_char     chr [1:1000] "97_278" "BR5-045" "10-409"

sample_char 是新变量。

【问题讨论】:

  • 能否提供一些示例数据和代码?否则,我们无法重现您的问题,也无法帮助您更正代码。
  • 我会相应地编辑我的原始帖子。

标签: r csv dataframe chr


【解决方案1】:

我觉得这个问题还是不明白,你说的这个基本功能可以实现。如果我弄错了,请纠正我。

> a <- read.csv("cor.csv",header = T,sep = ",",stringsAsFactors = F)
> a$Samples
[1] "97_278"  "BR5-045" "10-409"  "BR8-316" "97_420" 
> class(a$Samples)
[1] "character"

【讨论】:

  • 感谢您的意见!我编辑了我的帖子,以便更好地解释我基本上在寻找什么。
【解决方案2】:

我最终通过使用 as.matrix 和基本字符列表函数 (c) 来完成它。原来是这样的

 sample2 =as.matrix(sample)
 sample3 = c(sample2)

【讨论】:

    【解决方案3】:

    如果是单列,scan 最好读成vector

    res <- scan("cor.csv", sep="", what = "", quiet=TRUE)
    str(res)
    #chr [1:6] "Samples" "97_278" "BR5-045" "10-409" "BR8-316" ...
    

    如果我们需要list 的值,可以使用as.list(res)

    【讨论】:

    • 感谢您的意见!我编辑了我的帖子,以便更好地解释我基本上在寻找什么。
    • @IoannisTikas 我认为该示例应该适用于我发布的代码
    猜你喜欢
    • 1970-01-01
    • 2013-07-21
    • 1970-01-01
    • 2018-07-04
    • 2018-02-25
    • 1970-01-01
    • 1970-01-01
    • 2021-11-10
    相关资源
    最近更新 更多