这可能有一个非常简单的答案,但我很难弄清楚。。。
在满足给定行中的某个标准的条件下,在数据帧中一列的单元格中取一个值,并将其分配给同一行但不同列中的单元格,这是一种基于向量的方法吗?我已经用if-else语句进行了循环,但我使用的是相当大的数据集,我的小笔记本电脑在循环条件语句中冻结了好几分钟。
例如。如果我有这样的东西:
Results$TResponseCorrect[Results$rownum %in% CorrectTs$rownum] <- 1
这很好。但不起作用的是类似的东西
Results$TResponseCorrect[Results$rownum %in% CorrectTs$rownum] <- Results$TCorrect
在这种情况下,我会收到一条警告,说"要替换的项目数不是替换长度的倍数",我基本上认为这意味着它无法确定要使用Results$Subject列的哪个单元格。
由于您的问题陈述暗示所有这些都在您可能想要的同一数据帧中:
Results$TResponseCorrect[Results$rownum %in% CorrectTs$rownum] <-
Results$TCorrect[Results$rownum %in% CorrectTs$rownum]
然后,它将在分配的LHS和RHS上具有相同数量的项目。