R 如果另一个列表长度不同,则重复重叠列表
所以这是一个非常愚蠢的问题,我很确定我遗漏了一些非常明显的东西 我有一个从一月到十二月的12个月的向量,我有一个数据框,它有一个yearmonth值,所以201601,201602,201604,一月,二月,三月 数据帧将始终进行排序,并从1月开始(201601) 我正在提取这个数据帧的长度,我想根据我12个月的向量映射数据帧的每个元素 当我运行lapplay时,我得到了一个部分解决方案,如果数据帧的长度为15,我得到1-12月映射和3个NAs,我希望映射继续,因此它将改为1-3月 这就是我目前所拥有的R 如果另一个列表长度不同,则重复重叠列表,r,lapply,R,Lapply,所以这是一个非常愚蠢的问题,我很确定我遗漏了一些非常明显的东西 我有一个从一月到十二月的12个月的向量,我有一个数据框,它有一个yearmonth值,所以201601,201602,201604,一月,二月,三月 数据帧将始终进行排序,并从1月开始(201601) 我正在提取这个数据帧的长度,我想根据我12个月的向量映射数据帧的每个元素 当我运行lapplay时,我得到了一个部分解决方案,如果数据帧的长度为15,我得到1-12月映射和3个NAs,我希望映射继续,因此它将改为1-3月 这就是我目前
monthName <- c("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec")
entry <- data.frame("test"=c("1","2","3","4","5","6","7","8","9","10","11","12","13","14","15"))
month <- unlist(lapply(1:length(entry$test), function (x) monthName[x]))
> month
monthName正如HubertL所指出的,解决当前问题的方法是:
rep_len(monthName, length(entry$test))
谢谢HubertL正如HubertL所指出的,解决当前问题的方法是:
rep_len(monthName, length(entry$test))
谢谢你HubertLrep_len(monthName,length(entry$test))
ok哇,太简单了,我也看了rep_len!谢谢你,我现在要用手掌面对面几分钟了,哈威可以把这归咎于默认的stringsAsFactors=TRUE
:)是的,我看到现在entry$test 12,entry$test%%12,entry$test)]
对我来说似乎更有意义。rep len(monthName,length(entry$test))
好吧,哇,这太简单了,我也看了一遍rep_len!谢谢你,我现在要用手掌面对面几分钟了,哈哈,我可以把这归咎于默认的stringsAsFactors=TRUE
)是的,我现在明白了entry$test 12,entry$test%%12,entry$test)]
对我来说似乎更有意义。