如何根据给定的索引对向量中的元素重新排序
How to reorder the elements in the vector according to the indexes given
我正在尝试为月份创建一个向量,以便月份的顺序将从 mth + 1 的输入开始。(mth 是输入)
比如输入,mth = 7,那么vector中的月份将从"August"开始,然后是"september",....(即mth + 1, one输入后的月份)。
另一个例子是:
如果第 mth = 3,则月份的向量将为
月份 = c("April","September",......,"March")
我想做的是自动执行代码的最后一行,我试过了但不知道如何继续。
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")
我希望代码可以帮助我根据 mth 的输入自动化月份,这样我就不需要手动更改它了。
你在找这个吗?
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"
month.abb
是内置的 R 常量之一,给出了所有 3 个字母月份缩写的向量。
我正在尝试为月份创建一个向量,以便月份的顺序将从 mth + 1 的输入开始。(mth 是输入)
比如输入,mth = 7,那么vector中的月份将从"August"开始,然后是"september",....(即mth + 1, one输入后的月份)。
另一个例子是:
如果第 mth = 3,则月份的向量将为 月份 = c("April","September",......,"March")
我想做的是自动执行代码的最后一行,我试过了但不知道如何继续。
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")
我希望代码可以帮助我根据 mth 的输入自动化月份,这样我就不需要手动更改它了。
你在找这个吗?
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"
month.abb
是内置的 R 常量之一,给出了所有 3 个字母月份缩写的向量。