楼主: rniehkust
1357 4

[作业] R 列累加 [推广有奖]

  • 0关注
  • 0粉丝

高中生

42%

还不是VIP/贵宾

-

威望
0
论坛币
2426 个
通用积分
0.0000
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
60 点
帖子
3
精华
0
在线时间
50 小时
注册时间
2017-3-2
最后登录
2023-6-13

楼主
rniehkust 发表于 2022-8-3 17:48:28 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
请教大家一个问题,数据框有两列数据,如果其中一列与另外一列有如下关系,应该怎么处理

1 1
1 2
1 3
0 0
1 4
0 0
1 5


也就是如果第一列的值为1,那么第二列对应位置的值为第一列前面各行累加

比如 第一行  第一列 为1  , 第一行第二列为 1
比如 第二行  第一列 为1  , 第二行第二列为 1+1=2
比如 第三行  第一列 为1  , 第二行第二列为 1+1+1=3
比如  第五行  第一列为1   ,第五行第二列为 1+1+1+0+1=4
比如  第七行  第一列为1   ,第五行第二列为 1+1+1+0+1+1=5

如果第一列的值为0,那么第二列对应位置的值也为0

请问如何实现?谢谢





二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:请教大家一个问题 如何实现 怎么处理 数据框

沙发
tiesuoqiao 发表于 2022-8-4 03:12:10
我把你的数据加了列名放在第一行,分别是“A” 和 “B”,然后存成 sample.csv

library(data.table)

a=fread("sample.csv")
a[A!=0,B:=cumsum(A)]
a[A==0, B:=0]

已有 1 人评分论坛币 收起 理由
cheetahfly + 10 精彩帖子

总评分: 论坛币 + 10   查看全部评分

藤椅
cheetahfly 在职认证  发表于 2022-8-4 21:44:09
df$b <- cumsum(df$a * a)

板凳
药引子5 发表于 2022-8-5 11:50:09
cumsum(A) * (A!=0)

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-2-8 16:05