首页 > 解决方案 > 如何使用循环将值更改为零?

问题描述

下面的循环用于在我执行生存分析之前准备数据。Vector_B应根据 中的最大值(= 天)将其变为“0” Vector_A。在此示例中,我希望最大值为“10”。我已经知道如何为此使用 ifelse 函数,但我真的很想知道如何实现循环(在本例中为 for 循环)。

你能帮我写下下面的脚本吗?我想Vector_B更改为 ''0, 0, 1, 0, 0, 0''),因为每Vector_A高于 10,Vector_B应该是 '0'。

代码:

Vector_A <- c(7, 17, 5, 12, 7, 13) 
Vector_B <- c(0, 1, 1, 0, 0, 1) 
for (i in Vector_A) if (i > 10) {(Vector_B <- 0)}

结果:

矢量_A:7 17 5 12 7 13

矢量_B:0

标签: rloops

解决方案


这是一种非常奇怪的做事方式,因为已经存在 R 函数,但是看到你明确要求循环试试这个。

for (i in 1:length(Vector_A)){
  Vector_B[i] <- ifelse(Vector_A[i] > 10, 0 ,Vector_B[i])
}

推荐阅读