gpt4 book ai didi

r - 根据其他列表中的列名匹配从列表中填充矩阵

转载 作者:行者123 更新时间:2023-12-01 09:51:16 24 4
gpt4 key购买 nike

我有一些数据:

num.list1 <- list(1,2,1,4,5)
num.list2 <- list(2,3)
num.list3 <- list(3,5,2)

num.data.list <- list(num.list1, num.list2, num.list3)

name.list1 <- list("A","B","C","D","E")
name.list2 <- list("B","C")
name.list3 <- list("A","C","E")

name.data.list <- list(name.list1, name.list2, name.list3)

all.names <- unique(unlist(name.data.list))

my.matrix <- matrix(data = NA, nrow = length(name.data.list), ncol = length(all.names))

colnames(my.matrix) <- all.names

我想根据匹配 my.matrix 的列名,用 num.data.list 中的值填充 my.matrix > 使用 name.data.list 中的值。

即:

      A    B    C    D    E

1 1 2 1 4 5

2 NA 2 3 NA NA

3 3 NA 5 NA 2

有什么想法吗?谢谢。

最佳答案

使用矩阵子集:

library(reshape2)

nm = melt(name.data.list)

my.matrix[matrix(c(nm$L1, match(nm$value, all.names)), ncol = 2)] = unlist(num.data.list)
# A B C D E
#[1,] 1 2 1 4 5
#[2,] NA 2 3 NA NA
#[3,] 3 NA 5 NA 2

关于r - 根据其他列表中的列名匹配从列表中填充矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37281220/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com