避免for循环,命名示例
我希望在下面的示例中避免使用for循环。目标是用不同的第二部分将字符串向量重复多次,从而改变每次重复。可能吗避免for循环,命名示例,r,loops,R,Loops,我希望在下面的示例中避免使用for循环。目标是用不同的第二部分将字符串向量重复多次,从而改变每次重复。可能吗 str2D = mtcars Vector = c(10,20) Dimen = dim( str2D ) nn = c() for ( i in Dimen[2]*(1:length(Vector)) ){ nn[ (i+1-Dimen[2]): i ] = rep(paste("|d",Vector[i/Dimen[2]],sep=""), Dimen[2] )
str2D = mtcars
Vector = c(10,20)
Dimen = dim( str2D )
nn = c()
for ( i in Dimen[2]*(1:length(Vector)) ){
nn[ (i+1-Dimen[2]): i ] = rep(paste("|d",Vector[i/Dimen[2]],sep=""), Dimen[2] )
}
Name = paste( rep(names(str2D) , length(Vector) ),nn,sep="")
“名称”向量的正确结果如下:
“mpg d10”“cyl d10”“disp d10”“hp d10”“drat d10”“wt d10”“qsec d10”“vs d10”“am d10”“carb d10”“mpg d20”“cyl d20”“disp d20”“hp d20”“drat d20”“wt d20”“qsec d20”“qsec d20”“drat d20”“WD0”“wt d20”“DS0”“drat d20”
谢谢我不太明白这里的最终目标,但至少这在没有循环的情况下实现了您想要的输出:
Name <- paste0(paste(names(mtcars)), "|d", rep(1:2, each = length(names(mtcars))), "0")
> Name
[1] "mpg|d10" "cyl|d10" "disp|d10" "hp|d10" "drat|d10" "wt|d10" "qsec|d10"
[8] "vs|d10" "am|d10" "gear|d10" "carb|d10" "mpg|d20" "cyl|d20" "disp|d20"
[15] "hp|d20" "drat|d20" "wt|d20" "qsec|d20" "vs|d20" "am|d20" "gear|d20"
[22] "carb|d20"
名称
[1] “mpg d10”“cyl d10”“disp d10”“hp d10”“drat d10”“wt d10”“qsec d10”
[8] “vs | d10”“am | d10”“档位| d10”“carb | d10”“mpg | d20”“气缸| d20”“disp | d20”
[15] “hp | d20”“drat | d20”“wt | d20”“qsec | d20”“vs | d20”“am | d20”“齿轮| d20”
[22]“碳水化合物| d20”