基于其他变量重命名多行的值

问题描述 投票:0回答:1

我有一个数据框,每个参与者都有多行。他们的某些ID发生错误(例如,某些ID是双精度的)。我想给他们分配一个这样的新

dat[dat$participant == "36" & dat$date == "2020-06-07_12h33.46.880"] <- "101"

我收到错误消息“列的下标重复”。我的命令出了什么问题?

我也尝试过

dat$participant[dat$date== "2020-06-07_12h33.46.880"] <- "101"

没有错误,也没有参与者出现这些值

r rename
1个回答
0
投票

错误duplicate subscripts for columns在这里告诉您您正在尝试将值分配给数据框的非必要部分。因此,您需要使用dat$participant而不是仅使用dat

一般来说,您可以使用此命令:

dat$participant[some condition] <- "101"

例如修改您的第一个命令:

dat$participant[dat$participant == "36" & dat$date == "2020-06-07_12h33.46.880"] <- "101"

但是可能会有另一个问题,例如确保您提供正确的日期(复制并粘贴值,因为hyphensdashes有很多类型),它们可能会在脏数据中出现,可能是ID不是字符而是数字,等等。

因此,如果您需要更多具体的帮助,请在此处提供几行数据框。

© www.soinside.com 2019 - 2024. All rights reserved.