在逗号分隔符处将列表拆分为数据框
Split list into dataframe at comma delimiter
这可能是重复的,但过了一段时间我仍然没有找到 R 的简单、充分的答案。
我有一个列表 answers
,其中包含多行的不同类型(数字、字符、字符串、日期)的逗号分隔数据。我如何拆分它以便每一行都有多个列,其中包含每个数据值?
我一直在尝试 strsplit
和 separate
函数,但没有成功。
我的数据当前是这样的:
[[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
这可能是重复的,但过了一段时间我仍然没有找到 R 的简单、充分的答案。
我有一个列表 answers
,其中包含多行的不同类型(数字、字符、字符串、日期)的逗号分隔数据。我如何拆分它以便每一行都有多个列,其中包含每个数据值?
我一直在尝试 strsplit
和 separate
函数,但没有成功。
我的数据当前是这样的:
[[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