我有一个从具有 50 个元素的正态分布中随机生成的向量
vector<-c(rnorm(50))
我想将所有负值更改为 0,将正值更改为 1
我使用了这个函数和索引,但是我没有得到包含 50 个元素的向量
vector[ vector< 0 ] <- 1
vector[ vector> 0 ] <- 0
我应该如何进行?
最佳答案
生成一些数据
x = rnorm(50)
然后要么
x = ifelse(x > 0, 1, 0)
或
x[x < 0] = 0
x[x > 0] = 1
甚至更好
as.numeric (x>0)
但是既然标准法线是关于0对称的,为什么不直接通过模拟呢
sample(0:1, 50, replace=TRUE)
关于r - 如何用R中的0替换向量中的所有负值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34911432/