gpt4 book ai didi

r - 根据阈值对数据进行分箱?

转载 作者:行者123 更新时间:2023-12-04 19:07:19 24 4
gpt4 key购买 nike

假设我有一个随时间上升和下降的响应变量。每次响应变量上升到阈值以上时,我们就有一个新的“试验”。也就是说,如果我添加一列 ThresholdTRUE每当高于某个值时,连续的数据块位于 ThresholdTRUE构成新的审判。

Time <- seq(1, 10, by = 0.5)
Response <- abs(sin(Time))
Threshold <- Response > 0.6
data <- data.frame(Time, Response, Threshold)

给定 Time , Response , 和 Threshold ,我怎么能去添加一个 Trial每组 TRUE 都有一个新值的因子阈值?像这样的东西:
   Time   Response Threshold Trial
1 1.0 0.84147098 TRUE A
2 1.5 0.99749499 TRUE A
3 2.0 0.90929743 TRUE A
4 2.5 0.59847214 FALSE NA
5 3.0 0.14112001 FALSE NA
6 3.5 0.35078323 FALSE NA
7 4.0 0.75680250 TRUE B
8 4.5 0.97753012 TRUE B
9 5.0 0.95892427 TRUE B
10 5.5 0.70554033 TRUE B
11 6.0 0.27941550 FALSE NA
12 6.5 0.21511999 FALSE NA
13 7.0 0.65698660 TRUE C
14 7.5 0.93799998 TRUE C
15 8.0 0.98935825 TRUE C
16 8.5 0.79848711 TRUE C
17 9.0 0.41211849 FALSE NA
18 9.5 0.07515112 FALSE NA
19 10.0 0.54402111 FALSE NA

最佳答案

data$Trial <- factor(
ifelse(data$Threshold, cumsum(!data$Threshold), NA), labels = c("A", "B", "C")
)

## Time Response Threshold Trial
## 1 1.0 0.84147098 TRUE A
## 2 1.5 0.99749499 TRUE A
## 3 2.0 0.90929743 TRUE A
## 4 2.5 0.59847214 FALSE <NA>
## 5 3.0 0.14112001 FALSE <NA>
## 6 3.5 0.35078323 FALSE <NA>
## 7 4.0 0.75680250 TRUE B
## 8 4.5 0.97753012 TRUE B
## 9 5.0 0.95892427 TRUE B
## 10 5.5 0.70554033 TRUE B
## 11 6.0 0.27941550 FALSE <NA>
## 12 6.5 0.21511999 FALSE <NA>
## 13 7.0 0.65698660 TRUE C
## 14 7.5 0.93799998 TRUE C
## 15 8.0 0.98935825 TRUE C
## 16 8.5 0.79848711 TRUE C
## 17 9.0 0.41211849 FALSE <NA>
## 18 9.5 0.07515112 FALSE <NA>
## 19 10.0 0.54402111 FALSE <NA>

关于r - 根据阈值对数据进行分箱?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21324531/

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