用列表中的值填充逻辑矩阵

斯莱姆

我的问题是关于通过逻辑选择填充值。我有一个矩阵

> mymat
               test
sample      1     2     3     4     5
  1sample FALSE FALSE  TRUE FALSE FALSE
  2sample FALSE FALSE  TRUE  TRUE FALSE
  3sample  TRUE FALSE FALSE FALSE FALSE
  4sample FALSE FALSE FALSE FALSE FALSE
  5sample FALSE FALSE FALSE FALSE FALSE

和值列表

> mylist
[[1]]
[1] "a"

[[2]]
[1] "b"

[[3]]
[1] "c"

[[4]]
[1] "d"

[[5]]
[1] "e"

我需要填充矩阵(或创建新的数据结构),其中第 n 个列表中的元素与矩阵中的第 n 列匹配的次数与行值为 TRUE 的次数相同,因此结果数据将如下所示:

> mymat
               test
sample      1   2    3     4     5
  1sample <NA> <NA>  c   <NA> <NA>
  2sample <NA> <NA>  c    d   <NA>
  3sample    a <NA> <NA> <NA> <NA>
  4sample <NA> <NA> <NA> <NA> <NA>
  5sample <NA> <NA> <NA> <NA> <NA>
阿克伦

这是一个使用选项 replace

dim<-`(replace(unlist(mylist)[col(mymat)], !mymat, NA), dim(mymat))
#   [,1] [,2] [,3] [,4] [,5]
#[1,] NA   NA   "c"  NA   NA  
#[2,] NA   NA   "c"  "d"  NA  
#[3,] "a"  NA   NA   NA   NA  
#[4,] NA   NA   NA   NA   NA  
#[5,] NA   NA   NA   NA   NA  

或者如果我们需要改变 mymat

mymat[] <- replace(unlist(mylist)[col(mymat)], !mymat, NA)
mymat
#         test
#sample    1   2  3   4   5 
#  1sample NA  NA "c" NA  NA
#  2sample NA  NA "c" "d" NA
#  3sample "a" NA NA  NA  NA
#  4sample NA  NA NA  NA  NA
#  5sample NA  NA NA  NA  NA

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

用其他较小矩阵中的值填充矩阵

来自分类Dev

从列表中填充矩阵

来自分类Dev

用R中该矩阵中不同行的值填充矩阵中的缺失值

来自分类Dev

用PHP中xml文件中的值填充下拉列表

来自分类Dev

用选定的列表值填充数据框中的列

来自分类Dev

用R中列表中的行有效地填充二维矩阵

来自分类Dev

用数组中包含的信息填充矩阵

来自分类Dev

用数组中包含的信息填充矩阵

来自分类Dev

用R中的sapply填充稀疏矩阵

来自分类Dev

犰狳-从列向量中的值填充矩阵

来自分类Dev

用列表填充熊猫列的空值

来自分类Dev

如何使该方法用一个列表中不同表和字段的值填充列表?

来自分类Dev

检查值是否在矩阵中,然后填充模板矩阵

来自分类Dev

用行填充矩阵

来自分类Dev

用Python中的最后一个已知值在列表中填充NA

来自分类Dev

用Dart语言从列表中填充空值的最佳方法是什么

来自分类Dev

如何用相同列表中先前数据帧的相同值用NAN填充数据帧

来自分类Dev

用零填充从比较中获得的列表

来自分类Dev

用零填充列表中的数组

来自分类Dev

用Matlab替换符号矩阵中的值

来自分类Dev

用值子集R中的距离矩阵

来自分类Dev

用 R 中的相同值过滤矩阵

来自分类Dev

从行,列,值的列表中填写矩阵

来自分类Dev

从行,列,值的列表中填写矩阵

来自分类Dev

本征矩阵库用给定范围内的随机浮点值填充矩阵

来自分类Dev

用枚举中的值填充组合框

来自分类Dev

用EditText中的值填充数组

来自分类Dev

用数组中的值填充表行

来自分类Dev

用数组中的值填充动态数组