2016-02-29 60 views
1

我已经R中r中制作一个新列数

b = matrix(c(1,1,1,1,1,1,1,1,1,1,1,1,2), ncol = 1) 

以下矩阵我执行下面的命令来计算所有的独特价值。

table(b) 

其实我是想知道什么命令我应该执行获得与所有的价值,旁边一栏,它与每个如下值的数列。

 [,1] [,2] 
[1,] 1 12 
[2,] 1 12 
[3,] 1 12 
[4,] 1 12 
[5,] 1 12 
[6,] 1 12 
[7,] 1 12 
[8,] 1 12 
[9,] 1 12 
[10,] 1 12 
[11,] 1 12 
[12,] 1 12 
[13,] 2 1 
+1

代码块,缩进四个空格或使用按钮像{}在编辑器的顶部。 – Frank

回答

5

我们可以使用ave

cbind(b, ave(b[,1], b[,1], FUN=length)) 
#  [,1] [,2] 
# [1,] 1 12 
# [2,] 1 12 
# [3,] 1 12 
# [4,] 1 12 
# [5,] 1 12 
# [6,] 1 12 
# [7,] 1 12 
# [8,] 1 12 
# [9,] 1 12 
#[10,] 1 12 
#[11,] 1 12 
#[12,] 1 12 
#[13,] 2 1 
+0

大道像子集? – nik

+1

@Mol假设您想通过一些分组变量在数据集中创建一个新列,可以使用'ave'。它不是“子集”,但它可以通过返回逻辑索引(如果需要)进行子集化。 – akrun

+1

感谢您的解释!很好:-) – nik