这与前一个问题有关:
Basic R, how to populate a vector with results from a function
但是我想我会发布一个新的,因为我有一个额外的要求。拿这个R代码。
X <- matrix(stats::rnorm(100), ncol = 2)
hpts <- chull(X)
Y <- ifelse(X[,1] %in% X[hpts], 1, 0)
c(X,Y)
Z <- matrix(0,ncol = 1,nrow =50)
我想添加一个额外的向量Z,保留hpts的顺序。所以如果t(t(hpts))看起来像这样:
[1,] 48
[2,] 27
[3,] 15
[4,] 13
[5,] 39
[6,] 2
[7,] 5
[8,] 50
然后我希望第48行Z有1,第27行有2,第15行有3等等。我试图用for循环:: for(我在Y){...}做这个,但我没有成功。任何指针都会受到赞赏。
答案 0 :(得分:2)
这应该这样做:
Z[c(hpts),1] <- seq_along(hpts)