楼主: njtdf
4036 6

[问答] 两列数据,左边权数,右边数值,怎样用R求加权和?? [推广有奖]

  • 2关注
  • 1粉丝

高中生

72%

还不是VIP/贵宾

-

威望
0
论坛币
500 个
通用积分
0.4500
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
1309 点
帖子
18
精华
0
在线时间
42 小时
注册时间
2012-6-19
最后登录
2024-7-20

楼主
njtdf 发表于 2012-7-3 15:20:30 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币

两列数据,左边权数,右边数值,怎样用R求加权和??

例如:
      权数        数值
1    10              1
2     20             1
3     15             1
4      5              2
5      10            2
6      15            2
7       50           3
8       30           3

我想得到的结果是:数值为1的有10+20+15=45个,数值为2的有5+10+15=20个,数值为3的有50+30=80个

本人为R菜鸟,求高人指点,能写出程序或者指点我去看哪些manal材料等等,多谢了!

补充:实际数据量比较多,有两列,741173行,第二列数值很多,从0.1到5600,不能一一列出,而第一列的权数很大,一般是几十万。
实际数据



二维码

扫码加我 拉你入群

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

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

关键词:加权和 求高人指点 Anal 高人指点 实际数据 数据 加权 加权和 权数 统计

回帖推荐

ywh19860616 发表于5楼  查看完整内容

简单的可以这样实现 - data.frame(Category=c(1,1,2,2,3,4,4),Frequency=c(10,15,5,2,14,20,3)) > x Category Frequency 1 1 10 2 1 15 3 2 5 4 2 2 5 3 14 6 4 20 7 4 3 > aggregate(x$Frequency, by=list(Category=x$Category), FUN=sum) Category x 1 1 25 2 2 7 3 3 14 ...

沙发
paullover 发表于 2012-7-3 15:27:53
我也是菜鸟,看不明白,还是支持你一下

藤椅
njtdf 发表于 2012-7-3 15:34:37
paullover 发表于 2012-7-3 15:27
我也是菜鸟,看不明白,还是支持你一下
谢谢支持,共同进步
我的意思其实挺简单的:把第二列相同数值的权数相加,比如把在第二列同是1的权数为10,20,15,相加得45

板凳
ywh19860616 发表于 2012-7-3 15:51:35
是的,试了一下,没有弄出来
在stata里面很简单
bys y: egen var3=sum(x)
期待解答

或许可以用aggregate实现。
一份耕耘,一份收获。

报纸
ywh19860616 发表于 2012-7-3 16:40:45
简单的可以这样实现

- data.frame(Category=c(1,1,2,2,3,4,4),Frequency=c(10,15,5,2,14,20,3))
> x
  Category Frequency
1        1        10
2        1        15
3        2         5
4        2         2
5        3        14
6        4        20
7        4         3
> aggregate(x$Frequency, by=list(Category=x$Category), FUN=sum)
  Category  x
1        1 25
2        2  7
3        3 14
4        4 23

或者tapply(x$Frequency, x$Category, FUN=sum)
已有 3 人评分经验 学术水平 热心指数 信用等级 收起 理由
njtdf + 1 + 1 + 1 谢谢大牛!呵呵!
qoiqpwqr + 40 + 1 + 1 热心帮助其他会员
epoh + 2 + 2 + 2 热心帮助其他会员

总评分: 经验 + 40  学术水平 + 4  热心指数 + 4  信用等级 + 3   查看全部评分

一份耕耘,一份收获。

地板
njtdf 发表于 2012-7-4 13:26:08
谢谢你热心的解答!希望以后大家多多交流!

7
njtdf 发表于 2012-7-5 21:57:39
问题更新了,求解答,谢谢了!

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-31 01:29