在逗号分隔符处将列表拆分为数据框

Split list into dataframe at comma delimiter

这可能是重复的,但过了一段时间我仍然没有找到 R 的简单、充分的答案。

我有一个列表 answers,其中包含多行的不同类型(数字、字符、字符串、日期)的逗号分隔数据。我如何拆分它以便每一行都有多个列,其中包含每个数据值?

我一直在尝试 strsplitseparate 函数,但没有成功。


我的数据当前是这样的:

[[2,4,6,Yes,No,ABC,date,(not asked),2018-01-04][1,3,5,No,Yes,DEF,date,|I don't know|, 2018-04-03]]

我想把它变成这样的数据框:

    V1  V2  V3  V4   V5   V6   V7     V8            V9     
1   2   4   6   Yes  No   ABC  date   (not asked)   2018-01-04

2   1   3   5   No   Yes  DEF  date   I don't know  2018-04-03  

我试过这个:

new_answers<-read.csv(text=gsub("\,","\n", answers), # replace "," with linefeeds
         header = FALSE)

但这会将数据值垂直分隔(进入超长列),而不是水平分隔(进入具有多列的数据框)。

将所有 "]" 替换为换行符并删除 "[" 的 tehn 进程 read.csv:

txt <- "[[2,4,6,Yes,No,ABC,date,(not asked),2018-01-04][1,3,5,No,Yes,DEF,date,|I don't know|, 2018-04-03]]"

read.csv(text=gsub("\[", "",   #remove "["
                   gsub("\]","\n", txt)), # replace "]" w/ R-lf's
           header = FALSE, col.names = LETTERS[1:9])
  A B C   D   E   F    G              H           I
1 2 4 6 Yes  No ABC date    (not asked)  2018-01-04
2 1 3 5  No Yes DEF date |I don't know|  2018-04-03