使用r中的apply函数更改数组中的元素

时间:2017-06-22 14:13:46

标签: arrays r loops apply sapply

所以目前,我有一个包含8列和行的数组引用了人。我想使用apply函数根据该人的另一列的值将一列的值更改为1或0。

我已经有了循环,这是

for(i in 1:nrow(OutComes)) {
  if(OutComes[i,"Risk_Factor"] > 0.7) {
    OutComes[i,"OnsetAge"] = 1 
  } else {
    OutComes[i,"OnsetAge"] = 0 
  }
}

因此,OutCome数组有一个名为“Risk_Factor”的向量,其中每个人都使用runif()分配一个统一的随机数。如果此数字大于0.7,则“Onset Age”列中同一行的元素会发生变化。

如何使用apply函数? 我搜索过但找不到任何有用的东西。

1 个答案:

答案 0 :(得分:0)

赋值是一个矢量化函数,因此不需要循环。

is_risky <- OutComes[,"Risk_Factor"] > 0.7
OutComes[, "OnsetAge"] <- as.integer(is_risky)