登录
首页精彩阅读R语言:构造新序列
R语言:构造新序列
2017-04-25
收藏

R语言:构造新序列

1、数值构造函数rep与seq
[plain] view plain copy
print?在CODE上查看代码片派生到我的代码片
    #数值构造rep与seq  
    rep(1:4,each=2)#依次重复1:4两遍  
    rep(1:4,2)  #注意,重复1:4两遍  
    seq(from=3,to=5,by=0.2)  
 
    rep(seq(from=3,to=5,by=0.2),2) #混合使用 
rep在使用过程中也很灵活,each代表AABB;默认的为ABAB。
[plain] view plain copy
print?在CODE上查看代码片派生到我的代码片
    > rep(c("id","use"),list(2,3))  
    [1] "id"  "id"  "use" "use" "use"  
    > rep(c("id","use"),each=2)  
    [1] "id"  "id"  "use" "use"  
    > rep(c("id","use"),2)  
    [1] "id"  "use" "id"  "use"  
    > rep(c("id","use"),unlist(2,3))  
    [1] "id"  "use" "id"  "use" 
rep与list相结合
[plain] view plain copy
print?在CODE上查看代码片派生到我的代码片
    > rep(c("id","use"),list(2,3))  
    [1] "id"  "id"  "use" "use" "use" 
可以实现AABBB,与each相似。在构造一些序列时候十分好用。
2、矩阵构造
[plain] view plain copy
print?在CODE上查看代码片派生到我的代码片
    #构造矩阵  
    matrix(1:15,nrow=3,ncol=5,byrow=T)  #byrow按行的顺序(横向)赋值;bycol按列(竖)赋值  
    array(1:15,dim=c(3,5)) #只能按列(竖)赋值 
3、字符构造paste
seq代表是ck与数值1 之间用啥记号,如:ck_1,ck*2
collapse代表是ck1与ck2之间用啥记号如:ck1_ck2   ck1 * ck2
[plain] view plain copy
print?在CODE上查看代码片派生到我的代码片
    #字符构造paste 
    paste("CK", 1:6, sep="")        
    paste("CK", 1:6, sep="*")         #对比 
    paste("CK", 1:6,collapse ="")   
    paste("CK", 1:6,collapse = "_")   #对比  
    #seq代表是ck与数值1 之间用啥记号,如:ck_1,ck*2  
    #collapse代表是ck1与ck2之间用啥记号如:ck1_ck2   ck1 * ck2 
4、paste与list合用——批量处理
list能够很好与paste函数应用起来
[plain] view plain copy
print?在CODE上查看代码片派生到我的代码片
    #paste与list合用  
    x <- list(a="aaa", b="bbb", c="ccc")   
    y <- list(d=1, e=2)   
    z=paste(x, y, sep="-")  
    paste("T", z, sep=":")   
    #list能够很好与paste函数应用起来 
两者在批量处理之中的运用,可见博客:R语言list用法、批量读取、写出数据时的用法
[plain] view plain copy
print?在CODE上查看代码片派生到我的代码片
    #3、利用List批量读出操作  
    #难点:如果构造输出表格的名称——paste来构造名称  
    flie=list()  
    xlsxflie=paste(1:2,".xlsx",sep="")  
      
    for(i in 1:2){  
    flie[[i]]=paste("C:/Users/long/Desktop/",xlsxflie[i],sep="")  
    write.xlsx(data.list2[[i]],file)  
    } 
其中,代码可以实现,数据写出时候,批量按照一定格式进行命名。

数据分析咨询请扫描二维码

客服在线
立即咨询