从R

时间:2015-08-19 16:36:16

标签: r grep

我有两个表,GrowTempGrow详细说明了我所关注的每个区域的增长和非常季节(这些都是静态的),而Temp详细说明了那些年来每个月的平均温度(这些是列)相同的领域。我正在尝试确定每年平均气温增长和非常旺季,但我遇到了一个问题,我如何选择列 - 我正在使用grep,但无法弄清楚如何占两位数的月份!

此时我已经隔离了每一年的每一列,并且有一年的列名称向量 - 类似于"tmp_2001_1" "tmp_2001_2" "tmp_2001_3" ... "tmp_2001_11" "tmp_2001_12"。我还存储了一对变量,即生长季节的开始和结束,它们存储为代表月份的整数:start <- some number between 1 and 12end <- some number between 1 and 12。但是,当grepstart有2位数时,我无法弄清楚如何让end确定生长季节。这就是我所拥有的,它们都是1位数字的情况:

grow_months <- grep(paste('tmp_','2001','_','[',start,'-',end,']',sep = ''), vector_of_column_names)

如何在startend为两位数的情况下对此进行展开?

1 个答案:

答案 0 :(得分:1)

格雷戈尔建议,

BEGIN
  aud.someProcedure('parameter');
  insert into test_table(_id, value) VALUES(1, 'test');
END;

或使用简单的正则表达式,你可以尝试

strings = paste0("tmp_2001_",c(1:20,100))
start = 9
end = 12
ii = sapply(strsplit(strings,'_'), function(x)x[3]%in%start:end)
strings[ii]