我在R中有一个数据帧(称为“df”),我创建了一个新列(称为“col”),当前填充了NA。 df中还有另一个列称为risk,我已经对数据帧进行了排序,因此风险最高的行位于顶部。
我希望前25%的列(因此风险最高25%)在其中包含单词“x”,而另外75%的列包含“y”。我想我需要一个for循环才能做到这一点,但有人可以用这个来取悦我。
答案 0 :(得分:2)
您可以使用ifelse
ifelse(df$risk > quantile(df$risk, 0.75), "x", "y")
如果要将其保存到data.frame中,请使用
df$col = ifelse(df$risk > quantile(df$risk, 0.75), "x", "y")