楼主: wx2123
4703 2

[问答] 求助:R语言求和的问题 [推广有奖]

  • 1关注
  • 2粉丝

硕士生

67%

还不是VIP/贵宾

-

威望
0
论坛币
5650 个
通用积分
221.8077
学术水平
1 点
热心指数
5 点
信用等级
0 点
经验
3111 点
帖子
93
精华
0
在线时间
188 小时
注册时间
2015-9-10
最后登录
2024-2-20

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币

有个问题,不知道用R怎么写。


a,b,c三列,要根据a列和b列的关系,对c列里面不同行求和,计算sum的值。用程序表达它们的关系,大约是这样:

sum = 0

For i = 0 to (b-1)

sum = sum + c[a-i]


也就是下表的关系:

id

a

b

c

sum

1

0

0

15

0

2

1

1

66

66

3

2

2

77

77+66=143

4

3

2

8

8+77=85

5

4

2

9

9+8=17

6

5

3

7

7+9+8=24

7

6

3

2

2+7+9=18


具体来说:

第一行, a=0, b=0, b-1=-1,sum=0

第二行, a=1, b=1, b-1=0, sum= c[1-0]=66;

第三行, a=2, b=2, b-1=1, sum= c[2-0] + c[2-1]=77+66 = 143;

第四行, a=3, b=2, b-1=1, sum= c[3-0] + c[3-1]=8+77 = 85;

第五行, a=4, b=2, b-1=1, sum= c[4-0] + c[4-1]=9+8 = 17;

第六行, a=5, b=3, b-1=2, sum= c[5-0] + c[5-1] + c[5-2]= 7+9+8 = 24;

第七行, a=6, b=3, b-1=2, sum= c[6-0] + c[6-1] + c[6-2]= 2+7+9 = 18;

这个用R语言怎么写呢?谢谢


二维码

扫码加我 拉你入群

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

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

关键词:R语言 ABCs Sum 不知道 ABC 循环

沙发
小朝 发表于 2022-1-6 22:15:34 |只看作者 |坛友微信交流群
  1. ka <- read.table('lx_11.txt',header = T)

  2. library(dplyr)

  3. kk <- function(x,y){
  4.   if(x==0){0} else {
  5.     ka %>% filter(a<=x & a>x-y) %>% pull(c) %>% sum()
  6.   }
  7. }

  8. ka %>% mutate(ddd=mapply(kk,a,b))
复制代码
已有 3 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
cheetahfly + 10 精彩帖子
Sunknownay + 3 + 3 + 3 热心帮助其他会员
wx2123 + 1 + 1 + 1 精彩帖子

总评分: 论坛币 + 10  学术水平 + 4  热心指数 + 4  信用等级 + 4   查看全部评分

使用道具

藤椅
wx2123 在职认证  发表于 2022-1-14 04:58:32 |只看作者 |坛友微信交流群
带到实际数据里算了一下,速度有点慢。是不是mapply()的问题?

使用道具

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

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-5-4 04:06