【问题标题】:Read a one line file into R将单行文件读入 R
【发布时间】:2020-03-03 13:49:47
【问题描述】:

我想导入一些数据,这些数据全部在一行中,如下所示:

{"name":["Harry"], "eyes":["blue"], "hair":["black"]},{"name":["Sally"], "eyes":["green"], "hair":["brown"]},{"name":["Charlie"], "eyes":["brown"], "hair":["none"]}

行由{} 分隔,列名在" " 中,所以我希望它看起来像这样:

name    eyes   hair
Harry   blue   black
Sally   green  brown
Charlie brown  none

我对 R 很陌生。所以,我尝试使用 read.table 和 "," 作为分隔符。

df <- read.table(dataPath, header = FALSE, sep=",")

当然,这只是分隔列,所以它并不能解决我的问题,因为我得到了很多列而只有一行。

我想知道分隔由{} 分隔的行的最佳方法是什么,以及是否有办法使用 R 正确获取标题/列。

【问题讨论】:

    标签: r import


    【解决方案1】:

    Importing data from a JSON file into R 提出了一种可能合适的方法。对于你的字符串

    library("rjson")
    vec <- '{"name":["Harry"], "eyes":["blue"], "hair":["black"]},{"name":["Sally"], "eyes":["green"], "hair":["brown"]},{"name":["Charlie"], "eyes":["brown"], "hair":["none"]}'
    vec <- fromJSON(paste("[", vec, "]"))
    do.call(rbind, lapply(vec, unlist))
         name      eyes    hair   
    [1,] "Harry"   "blue"  "black"
    [2,] "Sally"   "green" "brown"
    [3,] "Charlie" "brown" "none" 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-11-27
      • 1970-01-01
      • 2011-03-09
      • 2016-01-06
      • 2012-12-26
      • 2013-12-09
      • 2013-10-30
      • 1970-01-01
      相关资源
      最近更新 更多