æ ¹æ®å称的一个方é¢å°†å…ƒç´ åˆ—表æå–å’Œ/或分组到数æ®æ¡†ä¸­

时间:2018-04-05 12:16:50

标签: r list

继a question I asked previously之åŽï¼Œæˆ‘想知é“是å¦å¯ä»¥æ ¹æ®å…ƒç´ çš„å称æå–å’Œ/或分组列表元素。

所有列表元素都包å«å‡ å¤©ï¼ˆè·¨è¶Šå‡ ä¸ªæœˆï¼‰çš„æ¯å°æ—¶æ•°æ®ï¼Œå¹¶éµå¾ªç›¸åŒçš„命å结构:

YYYY-MM-DD HH

以下是我的列表的样å­ï¼ˆè¯·æ³¨æ„,其他月份也有数æ®ï¼Œå› æ­¤æˆ‘想专门针对个别月份):

enter image description here

我想è¦åšçš„是æå–具有相åŒMM值的æ¯ä¸ªåˆ—表元素,然åŽå°†ç»„åˆåˆ—表ä¿å­˜ä¸ºæ•°æ®æ¡†ã€‚

在这个例å­ä¸­ï¼Œæˆ‘希望将1月份的所有内容组åˆåœ¨ä¸€ä¸ªæ•°æ®æ¡†ä¸­ï¼Œå¹¶åœ¨ä¸€å¹´ä¸­çš„其他几个月é‡å¤è¿™ä¸€è¿‡ç¨‹ã€‚

我的想法是,我最终得到12个数æ®æ¡†ï¼Œæ¯ä¸ªæ•°æ®æ¡†ä»£è¡¨ä¸€å¹´ä¸­çš„一个月。

如何实现这一目标?

1 个答案:

答案 0 :(得分:1)

您å¯ä»¥å°è¯•ä»¥ä¸‹æ–¹æ³•ï¼š

my_list = list('YYYY-01-DD HH-MM-SS' = data.frame(id=1),
                       'YYYY-01-DD HH-MM-SS' = data.frame(id=2),
                       'YYYY-02-DD HH-MM-SS' = data.frame(id=3),
                       'YYYY-01-DD HH-MM-SS' = data.frame(id=4))

library(data.table)
lapply(split(my_list,substr(names(my_list),6,7)),rbindlist)

输出:

$`01`
   id
1:  1
2:  2
3:  4

$`02`
   id
1:  3

希望这有帮助ï¼