簡體   English   中英

從電子表格中隔離數據框以創建列表

[英]Isolate data frames from a spreadsheet to create a list

如何從大型數據電子表格中隔離R中的數據框,並從隔離的數據框中創建列表?

例如,我在不同州的不同組銷售的蘋果銷售數據的格式為:

> data
1                    NSW   VIC   QLD
2 Group1       2013  500   501   985     
3              2014  601   520   999
4              2015  410   435   894
5 Group2       2013  508   501   806     
6              2014  694   780   899
7 Group3       2013  305   501   985     
8              2014  122   440   704
9              2015  210   235   523

我希望Group1的所有數據(行2至4)為dataframe1,Group2的數據(行5至6)為dataframe2,Group3的數據(行7至9)為dataframe3,等等。

然后我列出一個清單:

data.list <- list(dataframe1,dataframe2,dataframe3, ....)

由於每個數據幀的行數可能不同,因此我無法執行一個循環,該循環使每x個行數都構成一個數據幀。 基於包含“組”隸屬關系的第一列將原始數據集分離為單個數據幀的最佳方法是什么?

我想創建一個看起來像這樣的列表:

> data.list
[[Group1]]
                     NSW   VIC   QLD
1              2013  500   501   985     
2              2014  601   520   999
3              2015  410   435   894

[[Group2]]
                     NSW   VIC   QLD
1              2013  508   501   806     
2              2014  694   780   899

[[Group3]]
                     NSW   VIC   QLD
1              2013  305   501   985     
2              2014  122   440   704
3              2015  210   235   523
  • 注意:這只是偽數據,可以隨意讀取最容易為其編寫代碼的任何數據。
df <- structure(list(group = structure(c(2L, 1L, 1L, 3L, 1L, 4L, 1L, 
                                         1L), .Label = c("", "Group1", "Group2", "Group3"), class = "factor"), 
                     year = c(2013L, 2014L, 2015L, 2013L, 2014L, 2013L, 2014L, 
                              2015L), NSW = c(500L, 601L, 410L, 508L, 694L, 305L, 122L, 
                                              210L), VIC = c(501L, 520L, 435L, 501L, 780L, 501L, 440L, 
                                                             235L), QLD = c(985L, 999L, 894L, 806L, 899L, 985L, 704L, 
                                                                            523L)), class = "data.frame", row.names = c(NA, -8L))

df_list <- split(df, as.factor(df$group))

split將幫助您使用baseR從組創建各種列表

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM