【问题标题】:Avoiding for loop, Naming Example避免 for 循环,命名示例
【发布时间】:2016-03-02 12:55:37
【问题描述】:

我想避免在以下示例中使用 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] )
  }

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” “gear|d10” "carb|d10" "mpg|d20" "cyl|d20" "disp|d20" "hp|d20" "drat|d20" "wt|d20" "qsec|d20" "vs|d20" "am|d20" "齿轮|d20" "碳水化合物|d20"

谢谢

【问题讨论】:

    标签: r loops


    【解决方案1】:

    我不太了解这里的最终目标,但至少这可以在没有循环的情况下实现您想要的输出:

    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"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-27
      • 2012-06-25
      • 2020-03-10
      • 1970-01-01
      • 1970-01-01
      • 2017-08-27
      • 2017-11-11
      • 2018-03-15
      相关资源
      最近更新 更多