r - 向数据框添加一个场合标志

标签 r dataframe

对于每个人,当金额大于零时,我想为我的数据框添加一个场合标志。我需要这个标志进行进一步的计算。这是我想要实现的目标。

dfin <- 

ID AMT 
1  50
1  NA
1  10
1  NA
2  15
2  NA
2  NA
3  10
3  15

dfout <- 

ID  AMT FLAG
1   50   1
1   NA   1
1   10   2
1   NA   2
2   15   1
2   NA   1
2   NA   1
3   10   1
3   15   2

我如何在 R 中实现这一点?

最佳答案

您可以测试哪些值不是 NA 并计算累积和。

dfout = dfin
dfout$FLAG = cumsum(!is.na(dfin$AMT))
dfout
  ID AMT FLAG
1  1  50    1
2  1  NA    1
3  1  10    2
4  1  NA    2
5  2  15    3
6  2  NA    3
7  2  NA    3
8  3  10    4

关于r - 向数据框添加一个场合标志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50165289/

相关文章:

linux - 如何在命令行中编写R?如何从命令行加载工作区?

python - 比较两个 Python Pandas 数据帧的 2 列并获取公共(public)行

Python - Json 列表到 Pandas Dataframe

python - 在 Python 中将 JSON 文件平铺到 Pandas Dataframe 中

r - 试图在 ggplot2 : Error in vpPathFromVector(names) 中使用 gglocator

r - 根据特定行 ID 计算缺失值,仅在具有 NA 的列上

R Shiny : Use same checkBoxGroup twice

r - 编写自定义 R 函数以在 dbplyr SQL 中使用

dataframe - 将长度不匹配的列添加到 julia 中的数据帧

python - 将列从 float 转换为 int 时收到 KeyError