r - 从 R 中的标签列表列表创建表

标签 r list tags

我在 R 中有一个带有标签的大列表。示例:

[[1]]
[1] "A" "C" "E" "F"

[[2]]
[1] "B" "C" "G"

[[3]]
[1] "A"

[[4]]
[1] "B"

[[5]]
[1] "C" "E"

[[6]]
[1] "G"

我需要用两个值构建一个表:1/(-1),表示行是否有标签 (1) 或没有标签 (-1)。

    "A" "B" "C" "E" "F" "G"
[1]  1  -1  -1   1   1  -1
[2] -1   1   1  -1  -1   1
[3]  1  -1  -1  -1  -1  -1
[4] -1   1  -1  -1  -1  -1
[5] -1  -1   1   1  -1  -1
[6] -1  -1  -1  -1  -1   1

最佳答案

这是适合您的方法。

首先,我们命名我们的列表(否则我们不能使用stack):

names(dat) <- 1:length(dat)

然后我们把它变成长:

dat2 <- stack(dat)

现在制作我们的 table 很容易:

res <- with(dat2, table(ind, values))
res[res==0]<--1

>res
   values
ind  A  B  C  E  F  G
  1  1 -1  1  1  1 -1
  2 -1  1  1 -1 -1  1
  3  1 -1 -1 -1 -1 -1
  4 -1  1 -1 -1 -1 -1
  5 -1 -1  1  1 -1 -1
  6 -1 -1 -1 -1 -1  1

使用的数据:

dat <- list(c("A","C","E","F"),c("B","C","G"),"A","B",c("C","E"),"G")

关于r - 从 R 中的标签列表列表创建表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36866433/

相关文章:

r - 识别列表中的 TRUE block

python - 如何按最佳匹配(difflib 比率)对字符串列表进行排序

javascript - Universal Analytics - 多作者报告、自定义维度

javascript - 与 Laravel 一起运行的 Javascript 中出现意外标识符

r - 如何在不生成 HTML 预览的情况下呈现 "github_document"Rmd?

r - 以编程方式生成ggplot

r - 在 R 中的一行代码中减去和添加一个数量?

java - 为什么我不能在我的 ArrayList<T> 上调用 Collections.sort()?

html - H2-H3 标签行为怪异

r - 当 Github Actions 部署 R 包文档并中断时,Git 不知道我的姓名/电子邮件