【发布时间】:2020-12-30 23:34:48
【问题描述】:
如果超出特定(和变量)值,我正在尝试在 R 中的“是”和“否”之间做出决定。 对于每个测试值,应创建一个包含不同决策的新列。
这是一个手动创建的示例:
Test.data <- data.frame(c(10, 20, 30, 40, 50, 60, 70, 80, 90, 100))
colnames(Test.data) <- c("Test")
Test.data$Test1 <- ifelse(Test.data$Test > 10, "Yes", "No")
Test.data$Test2 <- ifelse(Test.data$Test > 20, "Yes", "No")
Test.data$Test3 <- ifelse(Test.data$Test > 30, "Yes", "No")
Test.data
这个简单的例子给出以下输出:
Test Test1 Test2 Test3
1 10 No No No
2 20 Yes No No
3 30 Yes Yes No
4 40 Yes Yes Yes
5 50 Yes Yes Yes
6 60 Yes Yes Yes
7 70 Yes Yes Yes
8 80 Yes Yes Yes
9 90 Yes Yes Yes
10 100 Yes Yes Yes
有没有办法用 for 循环来做到这一点?我已经尝试过不同的东西,比如下面的代码,但这似乎是无稽之谈,因为它不会创建新列等等:
n = c(seq(from=10, to=100, by=10))
for(i in n) {
ifelse(Test.data$Test > i, "Yes", "No")
}
谢谢大家!
【问题讨论】:
标签: r for-loop if-statement