r - 如何用R中的0替换向量中的所有负值

标签 r vector

我有一个从具有 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/

相关文章:

r - 在 windows 中使用 C++ dll 创建 r 包并确保可移植到 linux

r - 如何从多个文本中识别和检索多个模式?

c++ - 将 vector 的 vector 打印到 ostream

vector - 如何计算值向量的差值的最小值?

android - 在android中使用矢量资源作为应用程序图标

c# - RDotNet 内存故障

r - POSIXct 日期匹配(可能很简单!)

r - 使用 R markdown 以编程方式插入文本、标题和列表

Java/JavaME : Quicker geometric vector addition

math - 非规范化向量