【发布时间】:2016-09-15 07:42:40
【问题描述】:
原始数据是一个像这样命名为“数据”的简单列表
[1] "score: 10 / review 1 / ID 1
[2] "score: 9 / review 2 / ID 2
[3] "score: 8 / review 3 / ID 3
----
[30] "score: 7 / review 30 / ID&DATE: 30
为了分别整理评分评论和 ID&DATE, 我先把它做成矩阵,然后用 str_split "stringr" 用 "/" 分割它们
所以整个过程是这样的。
a1 <- readLines("data.txt")
a2 <- t(a1) # Matrix
a3 <- t(a2) # reversing rows and columns
b1 <- str_split(a,"/")
这就是问题所在 b1 以这样的嵌套列表形式出现。
[[1]]
[1] "score: 10"
[2] "review 1"
[3] "ID 1"
[[2]]
[1] "score: 9"
[2] "review 2"
[3] "ID 2"
[[3]]
[1] "score: 8"
[2] "review 3"
[3] "ID 3"
------
[[30]]
[1] "score: 7"
[2] "review 30"
[3] "ID 30"
我想提取 [[1]][1], [[2]][1], [[3]][1], ... [[30]][1], [ [n]][2] 和 [[n]][3] 分开,并使它们中的每一个成为数据帧。
有什么线索吗?
【问题讨论】:
-
请包含
dput(head(a1))的输出。 -
看来“b1”只是一个带有
length == 3原子元素的“列表”;用as.data.frame包裹.mapply(c, b1, NULL)应该可以工作