2015-12-20 70 views
-1

我有f,它是3個數據幀的列表。 f的概要如下子集化數據幀列表中的元素

> summary(f) 
    Length Class  Mode 
[1,] 4  data.frame list 
[2,] 4  data.frame list 
[3,] 4  data.frame list 

進一步

> str(f) 
List of 3 
$ :'data.frame': 2557 obs. of 4 variables: 
    ..$ Date : Factor w/ 2557 levels "2003-01-01","2003-01-02",..: 1 2 3 4 5 6 7 8 9 10 ... 
    ..$ sulfate: num [1:2557] NA NA 3.82 NA NA NA NA NA 3.1 NA ... 
    ..$ nitrate: num [1:2557] NA NA 0.494 NA NA NA NA NA 0.452 NA ... 
    ..$ ID  : int [1:2557] 70 70 70 70 70 70 70 70 70 70 ... 
$ :'data.frame': 1826 obs. of 4 variables: 
    ..$ Date : Factor w/ 1826 levels "2006-01-01","2006-01-02",..: 1 2 3 4 5 6 7 8 9 10 ... 
    ..$ sulfate: num [1:1826] NA NA NA NA NA NA NA NA NA NA ... 
    ..$ nitrate: num [1:1826] NA NA NA NA NA NA NA NA NA NA ... 
    ..$ ID  : int [1:1826] 71 71 71 71 71 71 71 71 71 71 ... 
$ :'data.frame': 2191 obs. of 4 variables: 
    ..$ Date : Factor w/ 2191 levels "2001-01-01","2001-01-02",..: 1 2 3 4 5 6 7 8 9 10 ... 
    ..$ sulfate: num [1:2191] NA NA NA NA NA NA NA NA NA NA ... 
    ..$ nitrate: num [1:2191] NA NA NA NA NA NA NA NA NA NA ... 
    ..$ ID  : int [1:2191] 72 72 72 72 72 72 72 72 72 72 ... 

現在F [1]是列表的第一數據幀。我想對它進行分組,使得我只能得到硫或硝酸鹽的柱子。因此,我通過的代碼,以便

pol<-"nitrate" 
f[1][[pol]] which failed. i tried many other ways like,f[1][,pol],f[1][,nitrate] etc. 

沒有一個可行。請在這裏幫助我。我完全失去了。

+0

有關列表,請使用f [[1]] –

+0

您應該向coursera論壇尋求幫助。 – Heroka

回答

0

我們可以使用[[list中提取元素。如果我們需要第一個元素,它將是f[[1]]並且它是data.frame,所以按列名稱進行子集將獲得那個data.frame的列並返回data.frame

f[[1]]['sulfate'] 

如果我們需要返回一個可用於vector

f[[1]][['sulfate']] 

f[[1]][, 'sulfate'] 

f[1]仍然是list。我們可以看看str(f[1])str(f[[1]])以瞭解結構。

+1

這幫了很大的忙! – mathkid

+0

@AKSHAY感謝您的反饋。請通過點擊投票旁邊的勾號來考慮接受解決方案。 – akrun