楼主: winniewang2222
2188 8

[问答] 根据省份年份进行循环计算的问题 [推广有奖]

  • 0关注
  • 21粉丝

已卖:2份资源

副教授

93%

还不是VIP/贵宾

-

威望
0
论坛币
1379 个
通用积分
61.7780
学术水平
24 点
热心指数
42 点
信用等级
23 点
经验
814 点
帖子
643
精华
0
在线时间
1098 小时
注册时间
2008-9-28
最后登录
2023-11-23

楼主
winniewang2222 发表于 2014-7-3 16:50:28 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
假设需要求各省各年收入(y)的基尼系数(function已知),可以用什么循环的命令呢,一般循环似乎都是对于次数,有什么命令可以根据省份和年份进行循环呢?

非常感谢!

   prov       yr          hh            y
      a       1995         1            30
      a       1995         2            55
      a        1995        3            65
      a        2000        1            77
      a        2000        2            87
      a        2000        3            41
      b        2000        1            65
      b        2000        2            70
      b        2000        3            43
...

P.S. 这个问题之前发过如何切割,现已明白如何根据省份和年份切割了,如省a,2000年,命令如下:

Data=read.csv("try.csv")
subdata=subset(Data,Data[,2]=="2000" & Data[,1]=="a",select=c(prov,yr,hh,y))
subdata




二维码

扫码加我 拉你入群

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

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

关键词:function Select Subset Elect Data function 基尼系数 年收入 切割 如何

世上万事,不过是一懒二拖三不读书。

沙发
水天一色DIY 在职认证  发表于 2014-7-3 18:02:46
aggregate函数,tapply函数,dplyr函数都可以做,不需要循环,循环效率太低
  1. attach(Data)
  2. tapply(y,list(prov,yr),function)
复制代码
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
winniewang2222 + 1 + 1 + 1 热心帮助其他会员

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

藤椅
winniewang2222 发表于 2014-7-4 09:36:19
水天一色DIY 发表于 2014-7-3 18:02
aggregate函数,tapply函数,dplyr函数都可以做,不需要循环,循环效率太低
很好用!!谢谢!!!

板凳
winniewang2222 发表于 2014-7-4 17:17:02
水天一色DIY 发表于 2014-7-3 18:02
aggregate函数,tapply函数,dplyr函数都可以做,不需要循环,循环效率太低
再次请教一下。我的function里有两个结果,所以在function里面我最后return了一个向量(包含两个结果)。再运行以下命令。

Data=read.csv("try.csv")
attach(Data)
result=tapply(y,list(prov,yr),DER)
result

得出的结果是:

> result
  1995      2000     
a Numeric,2 Numeric,2
b NULL      Numeric,2

请问您知道如何显示出来么?

非常感谢!

报纸
winniewang2222 发表于 2014-7-4 17:24:53
水天一色DIY 发表于 2014-7-3 18:02
aggregate函数,tapply函数,dplyr函数都可以做,不需要循环,循环效率太低
不分开写成两个function是因为计算过程中有核密度估计,分成两个方程等于算两次核密度估计。

地板
winniewang2222 发表于 2014-7-4 17:45:19
winniewang2222 发表于 2014-7-4 09:36
很好用!!谢谢!!!
抱歉问了个傻问题,存下来就出来了。
write.csv(result,"output.csv")

^_^

7
winniewang2222 发表于 2014-7-4 17:45:59
水天一色DIY 发表于 2014-7-3 18:02
aggregate函数,tapply函数,dplyr函数都可以做,不需要循环,循环效率太低
抱歉问了个傻问题,存下来就出来了。
write.csv(result,"output.csv")

^_^

8
水天一色DIY 在职认证  发表于 2014-7-4 18:14:53
winniewang2222 发表于 2014-7-4 17:45
抱歉问了个傻问题,存下来就出来了。
write.csv(result,"output.csv")
恩,如果你想全return出来,可以用list()
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
winniewang2222 + 1 + 1 + 1 观点有启发

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

9
winniewang2222 发表于 2014-7-4 19:48:28
水天一色DIY 发表于 2014-7-4 18:14
恩,如果你想全return出来,可以用list()
多谢!
list(result[,])

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

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