【发布时间】:2021-05-21 15:47:30
【问题描述】:
想象这是 R 中的一个数据框(我不确定如何导入我的数据框)。我想从这里去
| word | cat |
|---|---|
| book | distracter |
| cat | target |
| cat | distracter |
| cat | target |
| apple | distracter |
| apple | target |
到
| word | cat |
|---|---|
| book | distracter |
| cat | target |
| cat | target |
| cat | target |
| apple | distracter |
| apple | distracter |
我知道我可以通过慢慢检查每个索引并手动更改它们来做到这一点,但是有没有更好的方法在特定条件第一次出现后用相同的值替换这些值?
目前对我想要更改的每一行都执行以下操作。
data1$cat[3] <- "target"
注意。我要做的是当我第一次看到一个新词“猫”时,猫类别中对应的值是“目标”。现在我想用相同的“目标”值替换它之后的任何行。所以在第三行,我应该用目标替换干扰器。以及第 6 行,我需要将“target”替换为“distracter”!
任何帮助都会很棒!谢谢!
可重现的样本数据
structure(list(word = c("book", "cat", "cat", "cat", "apple",
"apple"), cat = c("distracter", "target", "distracter", "target",
"distracter", "target")), class = "data.frame", row.names = c(NA,
-6L))
【问题讨论】:
-
这能回答你的问题吗? extracting value based on another column
-
所以,基本上,您需要根据另一列提取一列的值,然后设置新值...
标签: r