R 将列表值提取到标准化数据框

R 将列表值提取到标准化数据框,r,dataframe,sapply,R,Dataframe,Sapply,我有一个列表对象,其中有许多单独的值列表,最大长度为12。并非所有长度都为12(如以下数据所示) 我想将这些值提取到一个x*12的数据框中,其中x是列表的数量(在本例中为50)。如果列表中没有全部12个值,我希望输入一个空白。因此,如果只有一个值(如第35行),它将出现在第35行和第1列中,该行的第2-12列将插入空格 到目前为止,我的工作主要集中在下面的test105之类的东西上,以解释不同数量的行和列。是否有一种预先标准化数据帧格式的方法 test105=sapply(test99,"[[

我有一个列表对象,其中有许多单独的值列表,最大长度为12。并非所有长度都为12(如以下数据所示)

我想将这些值提取到一个x*12的数据框中,其中x是列表的数量(在本例中为50)。如果列表中没有全部12个值,我希望输入一个空白。因此,如果只有一个值(如第35行),它将出现在第35行和第1列中,该行的第2-12列将插入空格

到目前为止,我的工作主要集中在下面的test105之类的东西上,以解释不同数量的行和列。是否有一种预先标准化数据帧格式的方法

 test105=sapply(test99,"[[",1)
我还使用as.matrix命令转换了列表结构“test99”,但除了更清楚地查看数据之外,这似乎没有给我更多的灵活性

谢谢你的帮助

 dput(test99transfer)
 structure(list(`1` = structure(c("3.631412983", "1.351914048", 
"-1.82656002", "-3.531716108", "0.468971014", "-0.510936022", 
"2.025001049", "4.369469166", "0.574441016", "-0.397388995", 
"3.314476013", "2.016448021"), .Names = c("Feb 2012", "Mar 2012", 
"Apr 2012", "May 2012", "Jun 2012", "Jul 2012", "Aug 2012", "Sep 2012", 
"Oct 2012", "Nov 2012", "Dec 2012", "Jan 2013")), `2` = structure(c("1.351914048", 
"-1.82656002", "-3.531716108", "0.468971014", "-0.510936022", 
"2.025001049", "4.369469166", "0.574441016", "-0.397388995", 
"3.314476013", "2.016448021", "0.041545"), .Names = c("Mar 2012", 
"Apr 2012", "May 2012", "Jun 2012", "Jul 2012", "Aug 2012", "Sep 2012", 
"Oct 2012", "Nov 2012", "Dec 2012", "Jan 2013", "Feb 2013")), 
`3` = structure(c("-1.82656002", "-3.531716108", "0.468971014", 
"-0.510936022", "2.025001049", "4.369469166", "0.574441016", 
"-0.397388995", "3.314476013", "2.016448021", "0.041545", 
"1.944175005"), .Names = c("Apr 2012", "May 2012", "Jun 2012", 
"Jul 2012", "Aug 2012", "Sep 2012", "Oct 2012", "Nov 2012", 
"Dec 2012", "Jan 2013", "Feb 2013", "Mar 2013")), `4` = structure(c("-3.531716108", 
"0.468971014", "-0.510936022", "2.025001049", "4.369469166", 
"0.574441016", "-0.397388995", "3.314476013", "2.016448021", 
"0.041545", "1.944175005", "0.898332"), .Names = c("May 2012", 
"Jun 2012", "Jul 2012", "Aug 2012", "Sep 2012", "Oct 2012", 
"Nov 2012", "Dec 2012", "Jan 2013", "Feb 2013", "Mar 2013", 
"Apr 2013")), `5` = structure(c("0.468971014", "-0.510936022", 
"2.025001049", "4.369469166", "0.574441016", "-0.397388995", 
"3.314476013", "2.016448021", "0.041545", "1.944175005", 
"0.898332", "1.043239951"), .Names = c("Jun 2012", "Jul 2012", 
"Aug 2012", "Sep 2012", "Oct 2012", "Nov 2012", "Dec 2012", 
"Jan 2013", "Feb 2013", "Mar 2013", "Apr 2013", "May 2013"
)), `6` = structure(c("-0.510936022", "2.025001049", "4.369469166", 
"0.574441016", "-0.397388995", "3.314476013", "2.016448021", 
"0.041545", "1.944175005", "0.898332", "1.043239951", "0.722914994"
), .Names = c("Jul 2012", "Aug 2012", "Sep 2012", "Oct 2012", 
"Nov 2012", "Dec 2012", "Jan 2013", "Feb 2013", "Mar 2013", 
"Apr 2013", "May 2013", "Jun 2013")), `7` = structure(c("2.025001049", 
"4.369469166", "0.574441016", "-0.397388995", "3.314476013", 
"2.016448021", "0.041545", "1.944175005", "0.898332", "1.043239951", 
"0.722914994", "-0.349180996"), .Names = c("Aug 2012", "Sep 2012", 
"Oct 2012", "Nov 2012", "Dec 2012", "Jan 2013", "Feb 2013", 
"Mar 2013", "Apr 2013", "May 2013", "Jun 2013", "Jul 2013"
)), `8` = structure(c("4.369469166", "0.574441016", "-0.397388995", 
"3.314476013", "2.016448021", "0.041545", "1.944175005", 
"0.898332", "1.043239951", "0.722914994", "-0.349180996", 
"0.074822001"), .Names = c("Sep 2012", "Oct 2012", "Nov 2012", 
"Dec 2012", "Jan 2013", "Feb 2013", "Mar 2013", "Apr 2013", 
"May 2013", "Jun 2013", "Jul 2013", "Aug 2013")), `9` = structure(c("0.574441016", 
"-0.397388995", "3.314476013", "2.016448021", "0.041545", 
"1.944175005", "0.898332", "1.043239951", "0.722914994", 
"-0.349180996", "0.074822001", "-1.258324027"), .Names = c("Oct 2012", 
"Nov 2012", "Dec 2012", "Jan 2013", "Feb 2013", "Mar 2013", 
"Apr 2013", "May 2013", "Jun 2013", "Jul 2013", "Aug 2013", 
"Sep 2013")), `10` = structure(c("-0.397388995", "3.314476013", 
"2.016448021", "0.041545", "1.944175005", "0.898332", "1.043239951", 
"0.722914994", "-0.349180996", "0.074822001", "-1.258324027", 
"1.153113008"), .Names = c("Nov 2012", "Dec 2012", "Jan 2013", 
"Feb 2013", "Mar 2013", "Apr 2013", "May 2013", "Jun 2013", 
"Jul 2013", "Aug 2013", "Sep 2013", "Oct 2013")), `11` = structure(c("3.314476013", 
"2.016448021", "0.041545", "1.944175005", "0.898332", "1.043239951", 
"0.722914994", "-0.349180996", "0.074822001", "-1.258324027", 
"1.153113008", "1.344225049"), .Names = c("Dec 2012", "Jan 2013", 
"Feb 2013", "Mar 2013", "Apr 2013", "May 2013", "Jun 2013", 
"Jul 2013", "Aug 2013", "Sep 2013", "Oct 2013", "Nov 2013"
)), `12` = structure(c("2.016448021", "0.041545", "1.944175005", 
"0.898332", "1.043239951", "0.722914994", "-0.349180996", 
"0.074822001", "-1.258324027", "1.153113008", "1.344225049", 
"2.703722954"), .Names = c("Jan 2013", "Feb 2013", "Mar 2013", 
"Apr 2013", "May 2013", "Jun 2013", "Jul 2013", "Aug 2013", 
"Sep 2013", "Oct 2013", "Nov 2013", "Dec 2013")), `13` = structure(c("0.041545", 
"1.944175005", "0.898332", "1.043239951", "0.722914994", 
"-0.349180996", "0.074822001", "-1.258324027", "1.153113008", 
"1.344225049", "2.703722954", "-1.334722042"), .Names = c("Feb 2013", 
"Mar 2013", "Apr 2013", "May 2013", "Jun 2013", "Jul 2013", 
"Aug 2013", "Sep 2013", "Oct 2013", "Nov 2013", "Dec 2013", 
"Jan 2014")), `14` = structure(c("1.944175005", "0.898332", 
"1.043239951", "0.722914994", "-0.349180996", "0.074822001", 
"-1.258324027", "1.153113008", "1.344225049", "2.703722954", 
"-1.334722042", "1.17830801"), .Names = c("Mar 2013", "Apr 2013", 
"May 2013", "Jun 2013", "Jul 2013", "Aug 2013", "Sep 2013", 
"Oct 2013", "Nov 2013", "Dec 2013", "Jan 2014", "Feb 2014"
)), `15` = structure(c("0.898332", "1.043239951", "0.722914994", 
"-0.349180996", "0.074822001", "-1.258324027", "1.153113008", 
"1.344225049", "2.703722954", "-1.334722042", "1.17830801", 
"1.743324995"), .Names = c("Apr 2013", "May 2013", "Jun 2013", 
"Jul 2013", "Aug 2013", "Sep 2013", "Oct 2013", "Nov 2013", 
"Dec 2013", "Jan 2014", "Feb 2014", "Mar 2014")), `16` = structure(c("1.043239951", 
"0.722914994", "-0.349180996", "0.074822001", "-1.258324027", 
"1.153113008", "1.344225049", "2.703722954", "-1.334722042", 
"1.17830801", "1.743324995", "0.075165004"), .Names = c("May 2013", 
"Jun 2013", "Jul 2013", "Aug 2013", "Sep 2013", "Oct 2013", 
"Nov 2013", "Dec 2013", "Jan 2014", "Feb 2014", "Mar 2014", 
"Apr 2014")), `17` = structure(c("0.722914994", "-0.349180996", 
"0.074822001", "-1.258324027", "1.153113008", "1.344225049", 
"2.703722954", "-1.334722042", "1.17830801", "1.743324995", 
"0.075165004", "0.368221998"), .Names = c("Jun 2013", "Jul 2013", 
"Aug 2013", "Sep 2013", "Oct 2013", "Nov 2013", "Dec 2013", 
"Jan 2014", "Feb 2014", "Mar 2014", "Apr 2014", "May 2014"
)), `18` = structure(c("-0.349180996", "0.074822001", "-1.258324027", 
"1.153113008", "1.344225049", "2.703722954", "-1.334722042", 
"1.17830801", "1.743324995", "0.075165004", "0.368221998", 
"1.140485048"), .Names = c("Jul 2013", "Aug 2013", "Sep 2013", 
"Oct 2013", "Nov 2013", "Dec 2013", "Jan 2014", "Feb 2014", 
"Mar 2014", "Apr 2014", "May 2014", "Jun 2014")), `19` = structure(c("0.074822001", 
"-1.258324027", "1.153113008", "1.344225049", "2.703722954", 
"-1.334722042", "1.17830801", "1.743324995", "0.075165004", 
"0.368221998", "1.140485048", "-0.521915972"), .Names = c("Aug 2013", 
"Sep 2013", "Oct 2013", "Nov 2013", "Dec 2013", "Jan 2014", 
"Feb 2014", "Mar 2014", "Apr 2014", "May 2014", "Jun 2014", 
"Jul 2014")), `20` = structure(c("-1.258324027", "1.153113008", 
"1.344225049", "2.703722954", "-1.334722042", "1.17830801", 
"1.743324995", "0.075165004", "0.368221998", "1.140485048", 
"-0.521915972", "0.721825004"), .Names = c("Sep 2013", "Oct 2013", 
"Nov 2013", "Dec 2013", "Jan 2014", "Feb 2014", "Mar 2014", 
"Apr 2014", "May 2014", "Jun 2014", "Jul 2014", "Aug 2014"
)), `21` = structure(c("1.153113008", "1.344225049", "2.703722954", 
"-1.334722042", "1.17830801", "1.743324995", "0.075165004", 
"0.368221998", "1.140485048", "-0.521915972", "0.721825004", 
"-0.468360007"), .Names = c("Oct 2013", "Nov 2013", "Dec 2013", 
"Jan 2014", "Feb 2014", "Mar 2014", "Apr 2014", "May 2014", 
"Jun 2014", "Jul 2014", "Aug 2014", "Sep 2014")), `22` = structure(c("1.344225049", 
"2.703722954", "-1.334722042", "1.17830801", "1.743324995", 
"0.075165004", "0.368221998", "1.140485048", "-0.521915972", 
"0.721825004", "-0.468360007", "0.696716011"), .Names = c("Nov 2013", 
"Dec 2013", "Jan 2014", "Feb 2014", "Mar 2014", "Apr 2014", 
"May 2014", "Jun 2014", "Jul 2014", "Aug 2014", "Sep 2014", 
"Oct 2014")), `23` = structure(c("2.703722954", "-1.334722042", 
"1.17830801", "1.743324995", "0.075165004", "0.368221998", 
"1.140485048", "-0.521915972", "0.721825004", "-0.468360007", 
"0.696716011", "-0.181444004"), .Names = c("Dec 2013", "Jan 2014", 
"Feb 2014", "Mar 2014", "Apr 2014", "May 2014", "Jun 2014", 
"Jul 2014", "Aug 2014", "Sep 2014", "Oct 2014", "Nov 2014"
)), `24` = structure(c("-1.334722042", "1.17830801", "1.743324995", 
"0.075165004", "0.368221998", "1.140485048", "-0.521915972", 
"0.721825004", "-0.468360007", "0.696716011", "-0.181444004", 
"0.585435987"), .Names = c("Jan 2014", "Feb 2014", "Mar 2014", 
"Apr 2014", "May 2014", "Jun 2014", "Jul 2014", "Aug 2014", 
"Sep 2014", "Oct 2014", "Nov 2014", "Dec 2014")), `25` = structure(c("1.17830801", 
"1.743324995", "0.075165004", "0.368221998", "1.140485048", 
"-0.521915972", "0.721825004", "-0.468360007", "0.696716011", 
"-0.181444004", "0.585435987"), .Names = c("Feb 2014", "Mar 2014", 
"Apr 2014", "May 2014", "Jun 2014", "Jul 2014", "Aug 2014", 
"Sep 2014", "Oct 2014", "Nov 2014", "Dec 2014")), `26` = structure(c("1.743324995", 
"0.075165004", "0.368221998", "1.140485048", "-0.521915972", 
"0.721825004", "-0.468360007", "0.696716011", "-0.181444004", 
"0.585435987"), .Names = c("Mar 2014", "Apr 2014", "May 2014", 
"Jun 2014", "Jul 2014", "Aug 2014", "Sep 2014", "Oct 2014", 
"Nov 2014", "Dec 2014")), `27` = structure(c("0.075165004", 
"0.368221998", "1.140485048", "-0.521915972", "0.721825004", 
"-0.468360007", "0.696716011", "-0.181444004", "0.585435987"
), .Names = c("Apr 2014", "May 2014", "Jun 2014", "Jul 2014", 
"Aug 2014", "Sep 2014", "Oct 2014", "Nov 2014", "Dec 2014"
)), `28` = structure(c("0.368221998", "1.140485048", "-0.521915972", 
"0.721825004", "-0.468360007", "0.696716011", "-0.181444004", 
"0.585435987"), .Names = c("May 2014", "Jun 2014", "Jul 2014", 
"Aug 2014", "Sep 2014", "Oct 2014", "Nov 2014", "Dec 2014"
)), `29` = structure(c("1.140485048", "-0.521915972", "0.721825004", 
"-0.468360007", "0.696716011", "-0.181444004", "0.585435987"
), .Names = c("Jun 2014", "Jul 2014", "Aug 2014", "Sep 2014", 
"Oct 2014", "Nov 2014", "Dec 2014")), `30` = structure(c("-0.521915972", 
"0.721825004", "-0.468360007", "0.696716011", "-0.181444004", 
"0.585435987"), .Names = c("Jul 2014", "Aug 2014", "Sep 2014", 
"Oct 2014", "Nov 2014", "Dec 2014")), `31` = structure(c("0.721825004", 
"-0.468360007", "0.696716011", "-0.181444004", "0.585435987"
), .Names = c("Aug 2014", "Sep 2014", "Oct 2014", "Nov 2014", 
"Dec 2014")), `32` = structure(c("-0.468360007", "0.696716011", 
"-0.181444004", "0.585435987"), .Names = c("Sep 2014", "Oct 2014", 
"Nov 2014", "Dec 2014")), `33` = structure(c("0.696716011", 
"-0.181444004", "0.585435987"), .Names = c("Oct 2014", "Nov 2014", 
"Dec 2014")), `34` = structure(c("-0.181444004", "0.585435987"
), .Names = c("Nov 2014", "Dec 2014")), `35` = structure("0.585435987", .Names = "Dec 2014"), 
`36` = structure(c("1.043239951", "0.722914994", "-0.349180996", 
"0.074822001", "-1.258324027", "1.153113008", "1.344225049", 
"2.703722954", "-1.334722042", "1.17830801", "1.126680017", 
""), .Names = c("May 2013", "Jun 2013", "Jul 2013", "Aug 2013", 
"Sep 2013", "Oct 2013", "Nov 2013", "Dec 2013", "Jan 2014", 
"Feb 2014", "Mar 2014", "Apr 2014")), `37` = structure(c("0.722914994", 
"-0.349180996", "0.074822001", "-1.258324027", "1.153113008", 
"1.344225049", "2.703722954", "-1.334722042", "1.17830801", 
"1.126680017", "", ""), .Names = c("Jun 2013", "Jul 2013", 
"Aug 2013", "Sep 2013", "Oct 2013", "Nov 2013", "Dec 2013", 
"Jan 2014", "Feb 2014", "Mar 2014", "Apr 2014", "May 2014"
)), `38` = structure(c("-0.349180996", "0.074822001", "-1.258324027", 
"1.153113008", "1.344225049", "2.703722954", "-1.334722042", 
"1.17830801", "1.126680017", "", "", ""), .Names = c("Jul 2013", 
"Aug 2013", "Sep 2013", "Oct 2013", "Nov 2013", "Dec 2013", 
"Jan 2014", "Feb 2014", "Mar 2014", "Apr 2014", "May 2014", 
"Jun 2014")), `39` = structure(c("0.074822001", "-1.258324027", 
"1.153113008", "1.344225049", "2.703722954", "-1.334722042", 
"1.17830801", "1.126680017", "", "", "", ""), .Names = c("Aug 2013", 
"Sep 2013", "Oct 2013", "Nov 2013", "Dec 2013", "Jan 2014", 
"Feb 2014", "Mar 2014", "Apr 2014", "May 2014", "Jun 2014", 
"Jul 2014")), `40` = structure(c("-1.258324027", "1.153113008", 
"1.344225049", "2.703722954", "-1.334722042", "1.17830801", 
"1.126680017", "", "", "", "", ""), .Names = c("Sep 2013", 
"Oct 2013", "Nov 2013", "Dec 2013", "Jan 2014", "Feb 2014", 
"Mar 2014", "Apr 2014", "May 2014", "Jun 2014", "Jul 2014", 
"Aug 2014")), `41` = structure(c("1.153113008", "1.344225049", 
"2.703722954", "-1.334722042", "1.17830801", "1.126680017", 
"", "", "", "", "", ""), .Names = c("Oct 2013", "Nov 2013", 
"Dec 2013", "Jan 2014", "Feb 2014", "Mar 2014", "Apr 2014", 
"May 2014", "Jun 2014", "Jul 2014", "Aug 2014", "Sep 2014"
)), `42` = structure(c("1.344225049", "2.703722954", "-1.334722042", 
"1.17830801", "1.126680017", "", "", "", "", "", "", ""), .Names = c("Nov 2013", 
"Dec 2013", "Jan 2014", "Feb 2014", "Mar 2014", "Apr 2014", 
"May 2014", "Jun 2014", "Jul 2014", "Aug 2014", "Sep 2014", 
"Oct 2014")), `43` = structure(c("2.703722954", "-1.334722042", 
"1.17830801", "1.126680017", "", "", "", "", "", "", "", 
""), .Names = c("Dec 2013", "Jan 2014", "Feb 2014", "Mar 2014", 
"Apr 2014", "May 2014", "Jun 2014", "Jul 2014", "Aug 2014", 
"Sep 2014", "Oct 2014", "Nov 2014")), `44` = structure(c("-1.334722042", 
"1.17830801", "1.126680017", "", "", "", "", "", "", "", 
"", ""), .Names = c("Jan 2014", "Feb 2014", "Mar 2014", "Apr 2014", 
"May 2014", "Jun 2014", "Jul 2014", "Aug 2014", "Sep 2014", 
"Oct 2014", "Nov 2014", "Dec 2014")), `45` = structure(c("1.17830801", 
"1.126680017", "", "", "", "", "", "", "", "", ""), .Names = c("Feb 2014", 
"Mar 2014", "Apr 2014", "May 2014", "Jun 2014", "Jul 2014", 
"Aug 2014", "Sep 2014", "Oct 2014", "Nov 2014", "Dec 2014"
)), `46` = structure(c("1.126680017", "", "", "", "", "", 
"", "", "", ""), .Names = c("Mar 2014", "Apr 2014", "May 2014", 
"Jun 2014", "Jul 2014", "Aug 2014", "Sep 2014", "Oct 2014", 
"Nov 2014", "Dec 2014")), `47` = structure(c("0.297455013", 
"-2.498219013", "-1.982529998", "0.710475028", "2.43479991", 
"-1.629583001", "3.825987101", "1.375319004", "0.468528003", 
"-1.180858016", "-0.791706979", "0.260260999"), .Names = c("Sep 2005", 
"Oct 2005", "Nov 2005", "Dec 2005", "Jan 2006", "Feb 2006", 
"Mar 2006", "Apr 2006", "May 2006", "Jun 2006", "Jul 2006", 
"Aug 2006")), `48` = structure(c("-2.498219013", "-1.982529998", 
"0.710475028", "2.43479991", "-1.629583001", "3.825987101", 
"1.375319004", "0.468528003", "-1.180858016", "-0.791706979", 
"0.260260999", "1.613098025"), .Names = c("Oct 2005", "Nov 2005", 
"Dec 2005", "Jan 2006", "Feb 2006", "Mar 2006", "Apr 2006", 
"May 2006", "Jun 2006", "Jul 2006", "Aug 2006", "Sep 2006"
)), `49` = structure(c("-1.982529998", "0.710475028", "2.43479991", 
"-1.629583001", "3.825987101", "1.375319004", "0.468528003", 
"-1.180858016", "-0.791706979", "0.260260999", "1.613098025", 
"0.493414998"), .Names = c("Nov 2005", "Dec 2005", "Jan 2006", 
"Feb 2006", "Mar 2006", "Apr 2006", "May 2006", "Jun 2006", 
"Jul 2006", "Aug 2006", "Sep 2006", "Oct 2006")), `50` = structure(c("0.710475028", 
"2.43479991", "-1.629583001", "3.825987101", "1.375319004", 
"0.468528003", "-1.180858016", "-0.791706979", "0.260260999", 
"1.613098025", "0.493414998", "0.659148991"), .Names = c("Dec 2005", 
"Jan 2006", "Feb 2006", "Mar 2006", "Apr 2006", "May 2006", 
"Jun 2006", "Jul 2006", "Aug 2006", "Sep 2006", "Oct 2006", 
"Nov 2006"))), .Names = c("1", "2", "3", "4", "5", "6", "7", 
"8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", 
"19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", 
"30", "31", "32", "33", "34", "35", "36", "37", "38", "39", "40", 
"41", "42", "43", "44", "45", "46", "47", "48", "49", "50"))

您可以在bas R中使用此方法:

# the number of columns
maxcol <- max(sapply(test99transfer, length))
# create a list of one-row matrices
matlist <- lapply(test99transfer, 
                  function(x) unname(t(c(x, rep("", maxcol - length(x))))))
# create a data frame
dat <- as.data.frame(do.call(rbind, matlist))
#列数

maxcol这里有一个使用基数R的答案

df <- as.data.frame(do.call("rbind", lapply(yourList, function(x) {
  x2 <- as.numeric(x[x != ""])
  vec <- rep(NA, 12)
  vec[1:length(x2)] <- x2
  return(vec)
})))

df请允许我将您的示例缩小到可接受的大小:

my_list <- structure(list(
A = structure(c("3.631412983", "1.351914048", "-1.82656002", "-3.531716108", "0.468971014", "-0.510936022", "2.025001049", "4.369469166", "0.574441016", "-0.397388995", "3.314476013", "2.016448021"), .Names = c("Feb 2012", "Mar 2012", "Apr 2012", "May 2012", "Jun 2012", "Jul 2012", "Aug 2012", "Sep 2012", "Oct 2012", "Nov 2012", "Dec 2012", "Jan 2013")), 
B = structure(c("0.721825004", "-0.468360007", "0.696716011", "-0.181444004", "0.585435987"), .Names = c("Aug 2014", "Sep 2014", "Oct 2014", "Nov 2014", "Dec 2014")),
C = structure(c("-1.334722042", "1.17830801", "1.126680017", "", "", "", "", "", "", "", "", ""), .Names = c("Jan 2014", "Feb 2014", "Mar 2014", "Apr 2014", "May 2014", "Jun 2014", "Jul 2014", "Aug 2014", "Sep 2014", "Oct 2014", "Nov 2014", "Dec 2014"))))

是要保留与号码关联的name属性,还是只保留号码?如中所示,“-3.531716108”的名称属性“May 2012”只包含数字,因为它理想情况下只包含在标准化的n*12数据框架中。您的第一个问题是12列数据框架,因为每个列表都包含12个月的滚动数据,所以没有特别的意义。因此,如果你把它限制在12列,那么2013年6月与2014年6月的情况相同,因为我一直在考虑回答你的问题的概念框架。是的,同意。不过,出于这些目的,我只想计算该值,然后将其与其特征列一起查找,以便查看这些值滚动的起始月份。@Tony我简化了答案。现在,不需要额外的软件包。斯文,很抱歉继续唠叨,但这提供了一个很好的学习机会(我需要很多…)。为什么这组函数比下面的Reed提供的解决方案更占用内存?@Tony,Sven的答案是复制test99transfer,称为matlist,然后将其转换为名为dat的数据帧。在我的回答中,我直接从test99transfer转移到一个没有拷贝的数据帧。通常,列表会占用大量内存,因为它们需要不知道它们可以包含什么,而数据帧要求每列有一种数据类型和一个指定长度的列。制作列表的副本比制作数据框的副本要占用更多的内存。明白,这很有趣而且非常有用。谢谢。工作迅速有效。您选择将NAs填充到vec中有什么原因吗?很高兴它对您有用。我使用NA是因为它是R处理缺失数据的方式,而您要求的是空白值。使用“”在技术上并非空白;这是一个空字符串。如果您想对数据框中的值执行数字操作,使用“”也会遇到问题,因为数字表示为字符串。感谢您提供此解决方案;不幸的是,我不能在这个控制台上安装dplyr,尽管当我可以使用它时,它是很棒的
library(dplyr)
library(tidyr)
  my_tidy_list <- my_list %>% 
  stack %>% 
  mutate(names = my_list %>% unlist %>% names) %>% 
  separate(names, into = c("id", "month", "year"), sep = "\\.|\ ") %>%
  select(-ind) %>%
  print
my_tidy_list %>% 
  spread(month, values)