相关疑难解决方法(0)

如何将包含不同长度矢量的列表转换为R中的可用数据帧?

我有一个(相当长的)矢量列表.这些向量由我使用strsplit()句子函数得到的俄语单词组成.

以下是head()返回的内容:

[[1]]
[1] "?????"     "?????????" "??????"    "?"         "????"     

[[2]]
[1] "??"        "?????????" "????????"  "?"         "?????"    

[[3]]
[1] "?????"            "????????"         "??????-?????????" "?"                "??????????"       "???????"         

[[4]]
[1] "?????" "??"    "????," "???"   "??"   

[[5]]
[1] "????????????," "?"             "?????????"     "??"            "?????"        

[[6]]
[1] "??????"     "??????????" "???."
Run Code Online (Sandbox Code Playgroud)

注意,矢量具有不同的长度.

我想要的是能够阅读每个句子,第二个单词,第三个单词等的第一个单词.

期望的结果将是这样的:

    P1              P2           P3                 P4    P5           P6
[1] "?????"         "?????????"  "??????"           "?"   "????"       NA
[2] "??"            "?????????"  "????????"         "?"   "?????"      NA
[3] "?????"         "????????"   "??????-?????????" "?"   "??????????" "???????"         
[4] "?????"         "??" …
Run Code Online (Sandbox Code Playgroud)

r vector dataframe

46
推荐指数
5
解决办法
3万
查看次数

将不均匀列表转换为 data.frame

在简单的情况下,将偶数列表转换为数据框可以通过as.data.frame(). 例如 :

> (x1 <- list(a = 1:3, b = 4:6, c = 7:9))
> as.data.frame(x1)

#   a b c
# 1 1 4 7
# 2 2 5 8
# 3 3 6 9
Run Code Online (Sandbox Code Playgroud)

但是,如果列表中组件的长度不相等,则as.data.frame()不起作用。

> (x2 <- list(a = 1:4, b = 5:6, c = 7:11, d = 12:14))

# $a
# [1] 1 2 3 4
# $b
# [1] 5 6
# $c
# [1]  7  8  9 10 11
# …
Run Code Online (Sandbox Code Playgroud)

r dataframe

4
推荐指数
1
解决办法
2644
查看次数

标签 统计

dataframe ×2

r ×2

vector ×1