将可变长度列表转换为R中的矩阵

用户名

如果我有一个可变长度的向量列表:

[[1]]
[1] 1 2 3 4

[[2]]
[1] 4 5 6

[[3]]
[1] 1 2 3 4 5 6 7 8 9

[[4]]
[1] 'a' 'b' 'c'

如何将其转换为以列表的元素表示为列的数据帧/逻辑矩阵?

即像这样的数据框:

    1 2 3 4 5 6 7 8 9 'a' 'b' 'c'
[1] 1 1 1 1 0 0 0 0 0  0   0   0
[2] 0 0 0 1 1 1 0 0 0  0   0   0
[3] 1 1 1 1 1 1 1 1 1  0   0   0
[4] 0 0 0 0 0 0 0 0 0  1   1   1

一些数据:

x <- list(c(1, 2, 3, 4), c(4, 5, 6), c(1, 2, 3, 4, 5, 6, 7, 8, 9), c("a", "b", "c"))
sindri_baldur

这是基本的R选项:

# extract unique values from x
uv <- unique(unlist(x)) 
# Check in each element of lists which values are present and bind everything toegether
out <- do.call(rbind, lapply(x, function(e) as.integer(uv %in% e) ))
# Convert from matrix to data.frame and add column names
out <- setNames(as.data.frame(out), uv)
out

  1 2 3 4 5 6 7 8 9 a b c
1 1 1 1 1 0 0 0 0 0 0 0 0
2 0 0 0 1 1 1 0 0 0 0 0 0
3 1 1 1 1 1 1 1 1 1 0 0 0
4 0 0 0 0 0 0 0 0 0 1 1 1

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

将可变长度元组的列表转换为字典

如何将可变长度列表的列表转换为 CSV 文件?

使用一些过滤器将可变长度列表转换为字典

如何将可变长度列表从一个 python 数据框列转换为行?

将包含可变长度列表的数据框列转换为数据框中的多列

如何将可变长度的字符串转换为矢量?

将可变长度列表作为位置参数(argparse)?

如何在python3中更快地将可变长度字节(小于8个)转换为long long int?

(VBA)具有数千行的 Excel - 如何将可变长度的列转换为行?

ksql中的可变长度列表

将具有可变长度的字典列表的字典转换为熊猫数据框

R中的可变长度不同

如何将postgres中的可变长度记录转换为数组?

在Theano中循环(或矢量化)可变长度矩阵

可变长度的免费列表

将可变长度张量修剪为最大长度

R:可变长度不同

是否可以将可变长度的字符向量传递给 R 函数?

Fortran中的可变长度参数列表?

在 Python3 中交错多个可变长度列表

如何在Django中将可变长度的元组列出到表中?

如何将可变长度数组添加到 Vec 中?

将可变参数类型列表转换为对的元组

将可变嵌套列表的大文件转换为JSON

将可变长度数组从csv解析为struct

ZPL如何将可变长度的文本居中

将可变长度作为参数并返回元组的函数

R中的Hardstuck错误:可变长度不同

如何在python中将可变长度的列表列表的每个元素打印为一列?