代码之家  ›  专栏  ›  技术社区  ›  brucezepplin

从数据帧列表中提取数据帧

  •  1
  • brucezepplin  · 技术社区  · 7 年前

    如果我有以下对象:

    > str(dat)
    
    'data.frame':   94 obs. of  1 variable:
     $ Features:List of 94
      ..$ :'data.frame':    27 obs. of  2 variables:
      .. ..$ Key  : chr  "CUIVOCABS" "majorType" "minorType" "language" ...
      .. ..$ Value: chr  "CSP,MTH,MSH,OMIM,CST,NCI_NCI-GLOSS,MTHICD9,CHV,NDFRT,ICD10CM,SNOMEDCT_US,NCI,AOD,LCH_NW,NCI_FDA,ICD9CM,LCH,DXP,WHO,COSTAR" "umls" "uncased" "" ...
      ..$ :'data.frame':    27 obs. of  2 variables:
      .. ..$ Key  : chr  "scPageRank" "majorType" "scStringSimilarity" "Certainty" ...
      .. ..$ Value: chr  "3.87909E-05" "umls" "1" "5" ...
      ..$ :'data.frame':    7 obs. of  2 variables:
      .. ..$ Key  : chr  "rule" "PREF" "CUI" "STY" ...
      .. ..$ Value: chr  "listDiagnosis" "Spasms" "C0037763" "Sign or Symptom" ...
      ..$ :'data.frame':    26 obs. of  2 variables:
      .. ..$ Key  : chr  "language" "majorType" "minorType" "query" ...
      .. ..$ Value: chr  "" "umls" "uncased" "elbow" ...
      ..$ :'data.frame':    7 obs. of  2 variables:
      .. ..$ Key  : chr  "rule" "PREF" "CUI" "STY" ...
      .. ..$ Value: chr  "listDiagnosis" "Subarachnoid Hemorrhage" "C0038525" "Disease or Syndrome" ...
    

    我想提取每个单独的数据帧,其中每个数据帧包含两列:Key和Value。然后,我想把它们都绑定到一个大的数据帧中。

    我该怎么做?

    如果我这样做了 do.call(rbind, dat) 我得到:

    [,1]   [,2]   [,3]   [,4]   [,5]   [,6]   [,7]   [,8]   [,9]   [,10]  [,11]  [,12]  [,13]  [,14]  [,15]  [,16]  [,17]  [,18] 
    Features List,2 List,2 List,2 List,2 List,2 List,2 List,2 List,2 List,2 List,2 List,2 List,2 List,2 List,2 List,2 List,2 List,2 List,2
             [,19]  [,20]  [,21]  [,22]  [,23]  [,24]  [,25]  [,26]  [,27]  [,28]  [,29]  [,30]  [,31]  [,32]  [,33]  [,34]  [,35]  [,36] 
    Features List,2 List,2 List,2 List,2 List,2 List,2 List,2 List,2 List,2 List,2 List,2 List,2 List,2 List,2 List,2 List,2 List,2 List,2
             [,37]  [,38]  [,39]  [,40]  [,41]  [,42]  [,43]  [,44]  [,45]  [,46]  [,47]  [,48]  [,49]  [,50]  [,51]  [,52]  [,53]  [,54] 
    Features List,2 List,2 List,2 List,2 List,2 List,2 List,2 List,2 List,2 List,2 List,2 List,2 List,2 List,2 List,2 List,2 List,2 List,2
             [,55]  [,56]  [,57]  [,58]  [,59]  [,60]  [,61]  [,62]  [,63]  [,64]  [,65]  [,66]  [,67]  [,68]  [,69]  [,70]  [,71]  [,72] 
    Features List,2 List,2 List,2 List,2 List,2 List,2 List,2 List,2 List,2 List,2 List,2 List,2 List,2 List,2 List,2 List,2 List,2 List,2
             [,73]  [,74]  [,75]  [,76]  [,77]  [,78]  [,79]  [,80]  [,81]  [,82]  [,83]  [,84]  [,85]  [,86]  [,87]  [,88]  [,89]  [,90] 
    Features List,2 List,2 List,2 List,2 List,2 List,2 List,2 List,2 List,2 List,2 List,2 List,2 List,2 List,2 List,2 List,2 List,2 List,2
             [,91]  [,92]  [,93]  [,94] 
    Features List,2 List,2 List,2 List,2
    

    我可以单独访问每个数据帧,但我更喜欢一个大的数据帧。

    谢谢

    0 回复  |  直到 7 年前