poi-ti循环生成表格_R语言实践篇-使用for循环生成含参数变量名

dcdbba999dc8a5efb3af91cf1137076f.png

作为一个R语言的忠实粉丝,一直觉得这个软件非常好用,直到有一天晚上。。。

我想在一张表格里生成一组含有参数的变量,

###### step1 生成一张表格,作为演示样本 #####
tb <- tibble(
  year = rep(2001:2020,10)                 #2001到2020共20个年份,重复10次
) 
tb %<>% arrange(year) %>% 
  mutate(
    id = rep(1:10,20),                      #10个id表示10个企业
    r1 = rnorm(200, mean = 0, sd = 1),      #正态分布随机数
    r2 = rnorm(200, mean = 1, sd = 1), 
    r3 = rnorm(200, mean = 2, sd = 1) 
  )
# 现在我们有了一张表格,关键字是year和id,并且有一个值是r
tb %>% count(year,id) %>% filter(n > 1)     #验证关键字

##### step2 需求:按年份和r的值生成一组含参数的变量,比如下面这样 #####
# T_i = r1*(year = 2004 + i) + 
#       r2*(year = 2007 + i) +
#       r3*(year = 2009 + i)                #这里化用了多时点DID的平行趋势检

机智的我当然一下子就想到用for循环啦~~~

But ,

这个变量名它怎么包含参数啊啊啊???

50caa28ac45dd8c6a7305c492cd439f2.png
真是令人头大~~~~

如果直接写for循环的话,它就会变成这样

##### step3 使用for循环 #####
for (i in 0:5) {
  tb %<>% mutate(
    T_i = r1*(year = 2004 + i) + 
          r2*(year = 2007 + i) +
          r3*(year = 2009 + i) 
  )
}
#查看生成的字段名
colnames(tb)
[1] "year" "id"   "r1"   "r2"   "r3"   "T_i" 

真的生成了"T_i" ,字面意义上的

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值