可能重复:
R if 带有向量化语句
关于如何在此处最好地矢量化函数有一些类似的问题,但我还没有找到一个按行对数据框应用 if 类型函数的示例。
给出一个数据框 df,其中包含 1912 年至 2010 年的“年份”列,我只是想应用一个测试来判断给定年份是在测试年份之前还是之后(例如 1948 年)并分配一个字符“是”或“否”在另一列中。应该很容易...
目前,我编写的代码如下:
i = 1
while (i < nrow(df)) {
if (df$Year[i] < 1948) {
df$Test[i] <- "Yes"
} else { df$Test[i] <- "No"
}
i = i + 1
}
上面的方法有效,但是对于大型数据集来说很慢,而且我知道在 R 中必须有一个更“优雅”的解决方案。是否可以使用更好的方法?还是有更简单的东西?
谢谢!