加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

R语言中字符串拼接后作为变量名的方法

(2018-03-02 17:17:42)
标签:

cxd1301

轩辕小子

r

序列型变量

分类: R
     在做项目过程中,遇到一个数据存储问题,需要存储多个dataframe,但由于每个dataframe的行数不一致,所以不方便拼接成一个dataframe,当然一种方式是以最长的为准,不够长的用NA填充,但不想用该方法。于是考虑对每个dataframe分别输出,也就是要定义一系列的变量名,分别出存这些dataframe,比如a1,a2,,,,an。
     当然为了含义明确,最好是有具体含义的变量名称。于是实现如下:
var_bin<-c(1,2,3,4) 
var_score<-c(18,9,-9,-27) 
v_score<-data.frame(var_bin,var_score) 
t<-names(mydata)[2] 
print(t)   #### 输出     "贷款期数" 
assign(paste0(t,"_score"), v_score)

var_bin<-c(1,2,3)
var_score<-c(25,1,-22)
v_score<-data.frame(var_bin,var_score)
t<-names(mydata)[3]  
print(t)    ####输出     “支票账户”
assign(paste0(t,"_score"), v_score)
      以上方式就便于通过循环实现序列型变量的定义和赋值存储;
      以上例子得到了两个变量存储,
      > 支票账户_score
  var_bin var_score
            18
             9
            -9
           -27
> 贷款期数_score
  var_bin var_score
            25
             1
           -22

可以对列名进行适当修改,更加直观:
var_bin<-c(1,2,3,4)
var_score<-c(18,9,-9,-27)
v_score<-data.frame(var_bin,var_score)
t<-names(mydata)[2]
print(t)
names(v_score)<-c(t,"得分")
assign(paste0(t,"_score"), v_score)
      
        输出:
> 支票账户_score
  支票账户 得分
       18
        9
       -9
      -27

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有