r - R编程,For循环,if else语句未返回中位数的正确计算
问题描述
我有一个大数据框摘要2,其中包含不同的关键字,每个关键字的日期为 2016-2020 年。所以我为每家公司创建了一个循环,所以每当它在数据框中到达 2016 年时,它应该从 if 循环开始。奇怪的是,在第 269 行到达公司 2 时,中值没有正确返回。因为我使用的中值需要 -4 周和 +3 周的命中。第一个日期必须使用 if 语句,以仅计算可用日期。
我正在使用下面的代码,但中值在 else 语句中无法正常工作。然而,summary2$test & test2 返回了正确的数字,那么为什么中位数(summary2$hits[i-4:i+3])没有返回正确的数字?如果我手动使用 summary2$test 和 summary2$test 数字作为中位数,它会返回正确的数字。
编码
for (i in 1:nrow(summary2)) {
if (summary2$date[i] < as.Date('2016-01-31')) {
summary2$median[i] = median(summary2$hits[i:i+3])
}
else {
summary2$median[i] = median(summary2$hits[i-4:i+3])
summary2$test[i] = i-4
summary2$test2[i] = i+3
}
}
数据框:
线 | 关键词 | 命中 | 日期 | 公司 | 中位数 | 测试 | 测试2 |
---|---|---|---|---|---|---|---|
1 | 苹果 | 32 | 2016-01-03 | 苹果 | 30.0 | 不适用 | 不适用 |
2 | 苹果 | 30 | 2016-01-10 | 苹果 | 28.0 | 不适用 | 不适用 |
3 | 苹果 | 29 | 2016-01-17 | 苹果 | 29.0 | 不适用 | 不适用 |
4 | 苹果 | 30 | 2016-01-24 | 苹果 | 31.0 | 不适用 | 不适用 |
5 | 苹果 | 28 | 2016-01-31 | 苹果 | 29.5 | 1 | 8 |
6 | 苹果 | 29 | 2016-02-07 | 苹果 | 29.0 | 2 | 9 |
523 | icloud | 72 | 2016-01-03 | 苹果 | 65 | 不适用 | 不适用 |
524 | icloud | 69 | 2016-01-10 | 苹果 | 66 | 不适用 | 不适用 |
525 | icloud | 66 | 2016-01-17 | 苹果 | 62 | 1 | 8 |
526 | icloud | 65 | 2016-01-24 | 苹果 | 66 | 不适用 | 不适用 |
527 | icloud | 66 | 2016-01-31 | 苹果 | 28 | 523 | 530 |
528 | icloud | 62 | 2016-02-07 | 苹果 | 28 | 524 | 531 |
529 | icloud | 66 | 2016-02-14 | 苹果 | 28 | 525 | 532 |
530 | icloud | 66 | 2016-02-21 | 苹果 | 28 | 526 | 533 |
看起来第 525 行也有一些错误。
解决方案
我认为你应该在使用()
时使用:
,例如,
for (i in 1:nrow(summary2)) {
if (summary2$date[i] < as.Date('2016-01-31')) {
summary2$median[i] = median(summary2$hits[i:(i+3)])
}
else {
summary2$median[i] = median(summary2$hits[(i-4):(i+3)])
summary2$test[i] = i-4
summary2$test2[i] = i+3
}
}
推荐阅读
- javascript - 如何使用 Javascript 或 jQuery 获取 JSON 格式的表单数据
- google-apps-script - 根据值或空白隐藏 Google 电子表格中的空白行
- javascript - 工作字计数器,但逗号和句点有问题
- c++ - 形成元组数组 C++
- jquery - Jquery Mobile Swipe 事件导致输入中的文本不可拖动
- android - 为什么 RecyclerView.ViewHolder.getAdapterPosition() 返回 -1?
- node.js - 通过标准 API 向 Mattermost 发送文件
- android - 读取 url 时在 android studio 中没有与主机名关联的地址
- linux - devm_kzalloc 是否提供连续内存?
- html - 如何使图像显示为表格而不是主体的背景?