【问题标题】:R repeat only one element and change other elementsR仅重复一个元素并更改其他元素
【发布时间】:2017-01-06 13:14:15
【问题描述】:

我需要这个:

"X","Y",151,"X","Y",152,"X","Y",153,"X","Y",154,....."X","Y",334

但我只能得到这个:

names<-c("X","Y",seq(152,334,by=1))
#"X","Y",151,152,153,154....334

谢谢

【问题讨论】:

    标签: r seq rep


    【解决方案1】:

    我们创建一个序列向量 ('v1'),通过 'v1' 的 length 和带有 'v1' 的 replace the""` 复制向量 (c("X", "Y", ""))。

    v1 <-  152:334
    v2 <- rep(c("X", "Y", ""), length(v1))
    v3 <- replace(v2, v2 == "", v1)
    head(v3, 10)
    #[1] "X"   "Y"   "152" "X"   "Y"   "153" "X"   "Y"   "154" "X"  
    tail(v3, 10)
    # [1] "331" "X"   "Y"   "332" "X"   "Y"   "333" "X"   "Y"   "334"
    

    或者另一种选择是通过'v1'的lengthrbind和'v1'复制字符串("X Y"),将矩阵连接(c)到vectorscan"X Y" 拆分为"X", "Y"

    scan(text=c(rbind(rep("X Y", length(v1)),  v1)), what = "", quiet=TRUE)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-08-22
      • 2020-12-20
      • 1970-01-01
      • 2012-09-07
      • 2015-01-15
      • 1970-01-01
      • 2016-06-03
      • 2012-08-17
      相关资源
      最近更新 更多