【发布时间】:2021-04-06 08:51:12
【问题描述】:
R 中的 For 循环,包括粘贴和 ifelse
尊敬的社区,
我正在尝试将 paste 命令与 ifelse 命令组合到 R Studio 的 for 循环中 - 但我收到错误消息 Error: Unexpected '}' in "} "。
下载简化数据集:
我创建了一个简单的数据集来说明我的问题。您可以通过以下链接下载: https://www.dropbox.com/scl/fi/jxvcfvxnv7pf8e74tulzq/Data.xlsx?dl=0&rlkey=de7b3e2d0ge8ju6tsvz2bkzuv
背景:
我想评估来自测试的经验数据。因此,我需要为每个项目(i = 1-4)创建一个新列(称为 Point.[i])。如果“Answer.[i]”列中的值对应“Right.Answer.[i]”列中的值,我想给该任务 1 分(否则 0 分)。
我的代码
这对于一栏来说很容易:
data1 <- mutate(data, Point.1 = ifelse(Answer.1 == Right.Answer.1, 1, 0))
现在我想为所有列编写一个 for 循环,但以下代码不起作用:
for (i in 1:4) {
data[i] <- mutate(data, paste("Answer.",i) = ifelse(paste("Answer.",i) == paste("Answer.",i), 1, 0))
print(data)
}
如果有任何建议,我将不胜感激。提前致谢!
卡拉
【问题讨论】:
标签: r for-loop if-statement paste