3

这可能有一个非常简单的答案,但我无法弄清楚......

什么是基于向量的方法,可以在数据框中的一列的单元格中获取一个值,以满足给定行中的某些标准为条件,并将其分配给同一行但在不同列中的单元格?我已经通过 if-else 语句的循环来完成它,但是我正在处理非常大的数据集,并且我的小笔记本电脑在循环条件下冻结了几分钟。

例如。如果我有这样的事情:

Results$TResponseCorrect[Results$rownum %in% CorrectTs$rownum] <- 1

效果很好。但是不起作用的是

Results$TResponseCorrect[Results$rownum %in% CorrectTs$rownum] <- Results$TCorrect

在这种情况下,我会收到一条警告,“要替换的项目数不是替换长度的倍数”,我基本上认为这意味着它无法确定要采用 Results$Subject 列的哪个单元格。

4

1 回答 1

2

由于您的问题陈述暗示所有这些都在同一个数据框中,您可能想要:

Results$TResponseCorrect[Results$rownum %in% CorrectTs$rownum] <- 
                Results$TCorrect[Results$rownum %in% CorrectTs$rownum]

然后它将在作业的 LHS 和 RHS 上具有相同数量的项目。

于 2012-07-31T22:31:09.573 回答