- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个数据集,我试图在其中探索将变量限制在给定值并将超出的部分滚动到后续间隔的影响。我可以从概念上看到一些方法可以使用 cumsum()
来做到这一点。或类似的,但正在努力了解如何以合乎逻辑的方式实现它。
输入数据并不大(10,000 行,而不是 100,000 行);所以效率并不重要。
Reprex 输入数据:
间隔开始
千瓦时
2021-01-01 19:00
12.2
2021-01-01 19:30
14.7
2021-01-01 20:00
20.2
2021-01-01 20:30
30.7
2021-01-01 21:00
36.3
2021-01-01 21:30
36.7
2021-01-01 22:00
30.1
2021-01-01 22:30
26.3
2021-01-01 23:00
18.1
2021-01-01 23:30
15.8
2021-01-02 00:00
11.4
2021-01-02 00:30
10.2
2021-01-02 01:00
11.9
2021-01-02 01:30
12.3
2021-01-02 02:00
9.1
2021-01-02 02:30
8.6
2021-01-02 03:00
8.3
2021-01-02 03:30
10.1
而我想要做的是将kWh列中的值限制为最大20.0;如果该值超过该值,我想将多余的部分滚动到下一个间隔,然后再滚动到下一个,依此类推,直到考虑到所有能量(因此足够宽的间隔内的总和始终相同),但峰值永远不会超过极限。
期望的输出:
间隔开始
千瓦时
limit_kWh
2021-01-01 19:00
12.2
12.2
2021-01-01 19:30
14.7
14.7
2021-01-01 20:00
20.2
20.0
2021-01-01 20:30
30.7
20.0
2021-01-01 21:00
36.3
20.0
2021-01-01 21:30
36.7
20.0
2021-01-01 22:00
30.1
20.0
2021-01-01 22:30
26.3
20.0
2021-01-02 23:00
18.1
20.0
2021-01-02 23:30
15.8
20.0
2021-01-02 00:00
11.4
20.0
2021-01-02 00:30
10.2
20.0
2021-01-02 01:00
11.9
20.0
2021-01-02 01:30
12.3
20.0
2021-01-02 02:00
9.1
20.0
2021-01-02 02:30
8.6
17.7
2021-01-02 03:00
8.3
8.3
2021-01-02 03:30
10.1
10.1
因此,在此期间,能量总量是相同的,但峰值能量永远不会超过指定的限制。
任何帮助将不胜感激!
1 Câu trả lời
这只是一个基本循环,可以执行您想要的操作。它不是特别有效,但我想不出使用矢量化使其更快的好方法。
overflow <- 0
for (i in 1:nrow(d)) {
if (d$kWh[i] + overflow > 20) {
d$limit_kWh[i] <- 20
overflow <- d$kWh[i] + overflow - 20
}
else {
d$limit_kWh[i] <- d$kWh[i] + overflow
overflow <- 0
}
}
基本上超过 20 的金额,如果有的话,存储在
tràn ngập
中。变量,在每个条目更新。
tràn ngập
包含上一个日期的溢出量的向量。
overflow <- numeric(nrow(d))
for (i in 2:nrow(d)) {
overflow[i] <- max(d$kWh[i-1] + overflow[i-1] - 20, 0)
}
d$limit_kWh <- pmin(d$kWh + overflow, 20)
关于R:沿列的条件累积总和/翻转,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68991953/
我正在努力处理查询的 WHERE 部分。查询本身包含一个基于两个表中都存在的 ID 的 LEFT JOIN。但是,我要求 where 语句仅返回其中一列中存在的最大单个结果。目前我返回连接中的所有值,
我有这个代码来改变文件系统的大小。问题是,即使满足 if 条件,它也不会进入 if 条件,而我根本没有检查 if 条件。它直接进入 else 条件。 运行代码后的结果 post-install-ray
Giả sử tôi có một bảng Excel với 2 cột: ngày tháng trong các ô từ A1 đến A10 và giá trị trong các ô từ B1 đến B10. Tôi muốn tính tổng tất cả các giá trị của các ngày trong tháng 5. Tôi có 3 khả năng: {=SUM((MONTH(A1:A10)=
伪代码: SELECT * FROM 'table' WHERE ('date' row.date 或 ,我们在Stack Overflow上找到一个类似的问题: https://stackove
我有下面这行代码做一个简单的查询 if ($this->fulfilled) $criteria->addCondition('fulfilled ' . (($this->fulfilled
如果在数据库中找到用户输入的键,我将尝试显示“表”中的数据。目前我已将其设置为让数据库检查 key 是否存在,如下所示: //Select all from table if a key entry
đóng cửa. Câu hỏi này cần có thông tin chi tiết hoặc rõ ràng. Hiện tại không chấp nhận câu trả lời. Bạn có muốn cải thiện câu hỏi này không? Thêm chi tiết và làm rõ câu hỏi bằng cách chỉnh sửa bài đăng này. Đã đóng 5 năm trước. Cải thiện th
在MYSQL中可以吗 一共有三个表 任务(task_id、task_status、...) tasks_assigned_to(ta_id、task_id、user_id) task_suggeste
我想先根据用户的状态然后根据用户名来排序我的 sql 请求。该状态由 user_type 列设置: 1=活跃,2=不活跃,3=创始人。 我会使用此请求来执行此操作,但它不起作用,因为我想在“活跃”成员
下面两个函数中最专业的代码风格是什么? 如果函数变得更复杂和更大,例如有 20 个检查怎么办? 注意:每次检查后我都需要做一些事情,所以我不能将所有内容连接到一个 if 语句中,例如: if (veh
Tôi đang sử dụng EntityFramework 6.1.3 và SQL Server trong một dự án C#. Tôi có hai truy vấn về cơ bản có cùng mục đích. 1. Bài kiểm tra.GroupBy(x=>x.SubjectID)
我试图在 case when 语句中放入两个条件,但我在 postgresql 中遇到语法错误 case when condition 1 and condition 2 then X else Y
我正在构建一个连接多个表的查询,一个表 prodRecipe 将包含某些行的数据,但不是全部,但是 tmp_inv1 将包含所有行的计数信息。问题是,tmp_inv1.count 取决于某个项目是否在
我有一个涉及 couples of rows which have a less-than-2-hours time-difference 的查询(~0.08333 天): SELECT mt1.*,
我有一个包含许多这样的 OR 条件的代码(工作正常)来检查其中一个值是否为空,然后我们抛出一条错误消息(所有这些都必须填写) } elsif ( !$params{'account'}
我有一个名为 spGetOrders 的存储过程,它接受一些参数:@startdate 和 @enddate。这将查询“订单”表。表中的一列称为“ClosedDate”。如果订单尚未关闭,则此列将保留
在代码中,注释部分是我需要解决的问题...有没有办法在 LINQ 中编写这样的查询?我需要这个,因为我需要根据状态进行排序。 var result = ( from contact in d
我正在尝试创建一个允许省略参数的存储过程,但如果提供了参数,则进行 AND 操作: CREATE PROCEDURE MyProcedure @LastName Varchar(30)
我正在寻找一种方法来过滤我的主机文件中的新 IP 地址。我创建了一个脚本,每次我用来自矩阵企业管理器的数据调用它时都会更新我的主机文件。它工作正常。但是我必须找到一个解决方案,只允许更新 10.XX.
所以我正在做一种 slider ,当它完全向下时隐藏向下按钮,反之亦然,当向上按钮隐藏时,我遇到了问题。 var amount = $('slide').attr('number'); $('span
Tôi là một lập trình viên xuất sắc, rất giỏi!