繁体   English   中英

如何将2列的矩阵转换为类似multimap的结构?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM