如何在R中将两个数字的向量转换为包含序列?

时间:2016-09-26 19:17:01

标签: r performance sequence

我有一个带有两个数字的向量(或矩阵等)。

是否有一个函数或其他简短的“单行”技巧使这些数字成为包含序列?

例如:

如果我有一个包含数字1和15的向量。 我想快速应用一个函数(或技巧)来生成一个包含1:15(1,2,3,4,5,6 ... 15)的新向量

我知道我可以使用seq函数创建序列,但这需要我将矢量(或矩阵等)中的两个数字写成“from”和“to”。

  • 在data.frames,lists或matrix的索引创建长行文本的示例中,不必为from / to参数重复这些文本字符串。

示例:

dat <- data.frame(a = 1:5, b = 1:5, c = 1:5, d = 1:5, e = 1:5, f = 1:5)

#Too messy/long/time-consuming if my column names are longer/more complex:   
  names(dat)[names(dat) %in% c('a','b','c','d','e')]

#Too much coding text (I'm assuming it can be done simpler):
  names(dat)[seq(from = which(names(dat) == 'a'), to = which(names(dat) == 'e'))]

#So how could I do something like the sequence example, but with less text?
  #perhaps using: which(names(dat) %in% c('a','e'))  in some way...?

0 个答案:

没有答案