我试图通过意味着下一个代码,以削减层的数量增加多少列:[R通过函数
X <- matrix(c(6,7,9,9,9,17,19,4,12,2,3,6,7,7),ncol=2)
layers <- c(5,10,15,20,25,30,35,40)
partitions <- function(u) {cbind(pmin(layers[1],u),t(diff(pmin(layers,u))))}
X <- cbind(X,lapply(X[,2], partitions))
该函数返回在各层分配一个整数。
A = A1 + A2 + ...... + A8
例
A <- 19
partitions(A)
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8]
[1,] 5 5 5 4 0 0 0 0
但结果没有我需要的矩阵。最终的矩阵将是7×(2(COLS从X)+ 8(以点层的NUM))
[,1] [,2] [,3]
[1,] 6 Numeric,8 NULL
[2,] 7 Numeric,8 NULL
[3,] 9 Numeric,8 NULL
[4,] 9 Numeric,8 NULL
[5,] 9 Numeric,8 NULL
[6,] 17 Numeric,8 NULL
[7,] 19 Numeric,8 NULL
> dim(X)
[1] 7 3
我尝试不同的形式和过尺寸的误差。
问候
你介意加入'points' – Michele 2013-04-25 13:01:47
的结构,并且定义了'layers',然后从来没有使用它。 (其实你*不定义层,因为你有一个双'< - ' - 一个错字或许?) – 2013-04-25 13:11:54
@ SimonO101我看到了......可能'points'在那里...... :-) – Michele 2013-04-25 13:21:57