所以我有一个我执行chull的坐标列表。
X <- matrix(stats::rnorm(100), ncol = 2)
hpts <- chull(X)
chull会返回类似“[1] 1 3 44 16 43 9 31 41”的内容。我想再用另一个向量多个X来返回chull结果集中的X值。因此,例如[-2.1582511,-2.1761699,-0.5796294] * [1,0,1,...] = [-2.1582511,0,-0.5796294 ...]将是结果。我只是不知道如何正确填充第二个向量。
Y <- matrix(0, ncol = 1,nrow=50) #create a vector with nothing
# how do I fill vector y with a 1 or 0 based on the results from chull what do I do next?
X[,1] * Y
X[,2] * Y
谢谢,
答案 0 :(得分:1)
要仅返回X
结果集中hpts
的值,请使用
> X[hpts]
## [1] 2.1186262 0.5038656 -0.4360200 -0.8511972 -2.6542077 -0.3451074 1.0771153
## [8] 2.2306497
我读它就像“X这样的hpts”,或“X中的hpts的值”
当然,由于我的rnorm
要获得1和0的向量,表示结果使用
> Y <- ifelse(X[,1] %in% X[hpts], 1, 0)
> Y
## [1] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 1 0 0
## [44] 0 1 0 0 1 0 1