R 如何根据给定的索引对向量中的元素重新排序

R 如何根据给定的索引对向量中的元素重新排序,r,list,conditional-statements,element,R,List,Conditional Statements,Element,我试图为月份创建一个向量,这样月份的顺序将从mth+1的输入开始。(mth为输入) 例如,如果输入mth=7,那么向量中的月份将从“八月”开始,然后是“九月”,。。。。(即mth+1,输入后一个月) 另一个例子是: 如果mth=3,则月份的向量为 月份=c(“四月”、“九月”、“三月”) 我试图做的是自动完成我代码的最后一行,我已经尝试过了,但我不知道如何继续 year <- "2009" mth <- "7" day <- "1" df <- as.data.fram

我试图为月份创建一个向量,这样月份的顺序将从mth+1的输入开始。(mth为输入)

例如,如果输入mth=7,那么向量中的月份将从“八月”开始,然后是“九月”,。。。。(即mth+1,输入后一个月)

另一个例子是:

如果mth=3,则月份的向量为 月份=c(“四月”、“九月”、“三月”)

我试图做的是自动完成我代码的最后一行,我已经尝试过了,但我不知道如何继续

year <- "2009"
mth <- "7"
day <- "1"

df <- as.data.frame(cbind(year,month,day))
df.date <- as.Date(with(df, paste(year,month,day,sep="-")),"%Y-%m-%d")

Month <- c("Aug","Sep","Oct","Nov","Dec","Jan","Feb","Mar","Apr","May","Jun","Jul")

year你在找这个吗

mths = c("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec")
mth = 3

mths2 = c(mths[(mth+1):length(mths)],mths[1:mth])
> mths2
 [1] "Apr" "May" "Jun" "Jul" "Aug" "Sep" "Oct" "Nov" "Dec" "Jan" "Feb" "Mar"

另一个选项使用
head
tail
包装在函数
f

f <- function(mth = 3) c(tail(month.abb, -mth), head(month.abb, mth))
f(3)
#[1] "Apr" "May" "Jun" "Jul" "Aug" "Sep" "Oct" "Nov" "Dec" "Jan" "Feb" "Mar"

f
mth[c((mth+1):长度(mth),1:mth)]
c(尾部(mth,-mth),头部(mth,mth))
也感谢jogo提供了更短的代码,这对我帮助很大,节省了我的时间!)