小编BEM*_*EMR的帖子

从具有条件的组中的出现向后填充值

问题:我想从具有条件的组发生后退填充值.我试图在所需的输出中生成列C.

如果A <= 35,则将C设置为B并向后填充1,如果A> 35,则停止填充.

我正在尝试使用dplyr完成此任务.

建立在类似于我之前的问题的基础上:按组的出现向后填充值

输入:

DAT_in  = data.frame(ID=c(1,1,1,1,
                       2,2,2,
                       3,3,3,
                       4,4,4,4,4), 
                  time=c(1,2,3,4,
                         1,2,3,
                         1,2,3,
                         1,2,3,4,5),
                  A=c(100,35,25,0,
                      100,75,55,
                      100,28,25,
                      100,30,45,25,0),
                  B=c(0,0,0,1,
                      0,0,0,
                      0,0,1,
                      0,0,0,0,1))
Run Code Online (Sandbox Code Playgroud)

期望的输出(C):

DAT_out  = data.frame(ID=c(1,1,1,1,
                   2,2,2,
                   3,3,3,
                   4,4,4,4,4), 
              time=c(1,2,3,4,
                     1,2,3,
                     1,2,3,
                     1,2,3,4,5),
              A=c(100,35,25,0,
                  100,75,55,
                  100,28,25,
                  100,30,45,25,0),
              B=c(0,0,0,1,
                  0,0,0,
                  0,0,1,
                  0,0,0,0,1),
              C=c(0,1,1,1,
                  0,0,0,
                  0,1,1,
                  0,0,0,1,1))
Run Code Online (Sandbox Code Playgroud)

r dataframe dplyr

6
推荐指数
1
解决办法
151
查看次数

使用 R 脚本视觉对象创建 data.frame 时如何阻止 Power BI 删除重复项?

问题: 我试图在 Power BI 中使用 R 创建数据框时保留所有记录。
如果我将数据输入 R 脚本视觉对象,它会自动应用 unique() 删除重复记录。我正在处理长格式的数据,所以我不希望发生这种情况。

问题: 在 R 脚本视觉对象中生成数据帧时,如何阻止 Power BI 应用 unique()?

Power BI 生成的代码示例

      #Create dataframe
      #dataset <- data.frame(date_key)

      #Remove duplicated rows
      #dataset <- unique(dataset)
Run Code Online (Sandbox Code Playgroud)

r powerbi

5
推荐指数
1
解决办法
5242
查看次数

从组出现的向后填充值

问题:如何在发生某个值之前向后填充组中的所有行.我不是试图填写NA或缺少使用值zoo na.locf.在下面我想在每个ID组发生1.00之前填充A中的所有先前行和1.00,理想情况下使用dplyr.

输入:

data<- data.frame(ID=c(1,1,1,1,2,2,2,3,3,3,4,4,4,4,4), 
              time=c(1,2,3,4,1,2,3,1,2,3,1,2,3,4,5),
              A=c(0.10,0.25,1,0,0.25,1,0.25,0,1,0.10,1,0.10,0.10,0.10,0.05))
ID time    A
1    1     0.10
1    2     0.25
1    3     1.00
1    4     0.00
2    1     0.25
2    2     1.00
2    3     0.25
3    1     0.00
3    2     1.00
3    3     0.10
4    1     1.00
4    2     0.10
4    3     0.10
4    4     0.10
4    5     0.05
Run Code Online (Sandbox Code Playgroud)

期望的输出:

ID time    A
1    1     1.00
1    2     1.00
1    3     1.00
1    4     0.00
2    1     1.00
2 …
Run Code Online (Sandbox Code Playgroud)

r dplyr

2
推荐指数
1
解决办法
121
查看次数

标签 统计

r ×3

dplyr ×2

dataframe ×1

powerbi ×1