gpt4 book ai didi

R:更改主题中的重复值

转载 作者:行者123 更新时间:2023-12-02 08:10:35 26 4
gpt4 key购买 nike

 Subj  Trial  Time
1 A 1 250
2 A 2 250
3 A 3 280
4 B 1 250
5 B 2 270
6 B 3 290

以上是我正在处理的数据示例。我让不同的受试者 (Subj) 执行同一组试验 (Trial)。不幸的是,当试验事件快速连续发生时,我的设备将打印相同的时间值(请参阅第 1 行和第 2 行的时间列)。

我不能让同一个主题有重复的时间值,但是,不同的主题可以有相同的时间值。因此,我需要一种有条件地更改重复项的方法,以便仅更改特定主题中的时间重复项。

理想情况下,我想将上面的示例更改为如下所示:

 Subj  Trial  Time
1 A 1 250
2 A 2 250.5
3 A 3 280
4 B 1 250
5 B 2 270
6 B 3 290

关于我如何能够完成此任务的任何建议?

谢谢!

最佳答案

使用 dplyr 的解决方案.我们可以按 Subj 对数据进行分组和 Time ,统计出现的次数,然后更改Time通过添加 0.5如果出现次数大于 1。

library(dplyr)

dt2 <- dt %>%
group_by(Subj, Time) %>%
mutate(Count = row_number()) %>%
ungroup() %>%
mutate(Time = ifelse(Count > 1, Time + 0.5, Time)) %>%
select(-Count)
dt2
# # A tibble: 6 x 3
# Subj Trial Time
# <chr> <int> <dbl>
# 1 A 1 250.0
# 2 A 2 250.5
# 3 A 3 280.0
# 4 B 1 250.0
# 5 B 2 270.0
# 6 B 3 290.0

数据

dt <- read.table(text = " Subj  Trial  Time
1 A 1 250
2 A 2 250
3 A 3 280
4 B 1 250
5 B 2 270
6 B 3 290",
header = TRUE, stringsAsFactors = FALSE)

关于R:更改主题中的重复值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47478826/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com