2016-10-20 54 views
1

所以这是一个非常愚蠢的问题,我很确定我错过了一些非常明显的事情。如果另一个列表的长度不同,则重复列表列表

我有一个从1月到12月的向量12个月,我有一个数据框,有2016年,2016年,2016年1月,2月,3月的年月价值。

数据帧将一直进行排序,并从一月开始(201601)

我这个提取数据帧的长度,我想数据帧中的每个元素映射着我12个月载体。

当我运行lapplay时,我得到了一个部分解决方案,如果数据帧长度为15我得到Jan-Dec映射和3个NAs,我希望映射继续,所以它将是Jan - Mar。

这是我迄今为止

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 

[1]“一月”,“二月”,“三月”,“四月”,“可能”,“君”,“月”,“月”,“月”,“十月“,‘月’,‘月’NA NA NA

正如指出HubertL这是rep_len一种简单而雅致的溶液(MONTHNAME,长度(条目$试验))

+0

'rep_len(monthName,length(entry $ test))' – HubertL

+0

好哇,这太简单了,我也通过rep_len查看!谢谢,我现在要去掌握几分钟的时间haha – user3674993

+0

我们可以指责默认的'stringsAsFactors = TRUE'为那个:) – OdeToMyFiddle

回答

0

如HubertL修复指出了该电流问题是:

rep_len(monthName, length(entry$test)) 

谢谢HubertL

相关问题