[英]How to transform a matrix with 2 columns into a multimap like structure?
我想知道是否有一种方法可以将2列的矩阵转换为多图或列表列表。
矩阵的第一列是一个ID(可能有重复的条目),第二列是某个值。
例如,如果我必须遵循矩阵
m <- matrix(c(1,2,1,3,2,4), c(3,2))
我想将其转换为以下列表
[[1]]
3,4
[[2]]
2
使用基本函数,您可以执行以下操作:
tapply(m[,2], m[,1], `[`) # outputs an array
by(m, m[,1], function(m) m[,2]) # outputs a by object, which is a list
您可以使用plyr
:
dlply(m, 1, function(m) m[,2]) # outputs a list
dlply(m, 1, `[`, 2) # another way to do it...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.