【问题标题】:obtaining a vector from another vector [duplicate]从另一个向量中获取一个向量[重复]
【发布时间】:2014-05-07 10:43:49
【问题描述】:

我有一个向量,

x<-c(1,3,2,3,1,4,2,1,3,4,2,1,0,2,4,5,2,1,2)

我想通过从第一个元素到第 10 个元素每隔一次不包含一个来获得 x 的向量。这将包括元素 (1,3,5,7 和 9 of x) 以获得 (1,2,1,2,3)。符合以下产生错误的表达式。

x[1:10,by=2]

谢谢

【问题讨论】:

    标签: r


    【解决方案1】:

    你可以使用

    x[seq(1, 10, by=2)]    
    

    以这种方式使用seq(1, 10, by=2) 生成x 元素的索引,然后使用[] 运算符从x 获取它们。

    【讨论】:

      【解决方案2】:

      这里有另一种方法可以做到这一点,虽然上面的建议更直接

      x[1:10%%2 != 0][1:5]
      

      @SimonO'Hanlon 建议的类似方式(可能更好)

      x[c(TRUE, FALSE)][1:5]
      

      【讨论】:

        【解决方案3】:

        你可以这样做:

        x[seq(from=1,to=10, by=2)]
        

        【讨论】:

          猜你喜欢
          • 2016-07-08
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-10-02
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多