2012-11-19 4 views
4

이것은 매우 간단해야하지만 unlist 또는 matrix의 노력은 실패했습니다.R : 구조적 목록을 내보내는 방법

같은 구조를 유지하는 Excel 시트에 다음 목록을 어떻게 내보낼 수 있습니까?

list(structure(list(rob = c(0.500395231401348, 0.839314035292317, 
0.710466394967634, 0.61574235723249)), .Names = "rob", row.names = c(NA, 
4L), class = "data.frame"), structure(list(rob = c(0.66163340478379, 
0.591092739290417, 0.554484883310407, 0.78199375944331, 0.489388775242085 
)), .Names = "rob", row.names = c(NA, 5L), class = "data.frame"), 
    structure(list(rob = c(0.697897964659196, 0.480394119894312, 
    0.514294379103359, 0.626971885076273, 0.77938643423231, 0.618135503224601 
    )), .Names = "rob", row.names = c(NA, 6L), class = "data.frame")) 

고마워요!

+1

개체는 하나의 열 data.frames의 목록이고, Excel 시트는 테이블입니다. 출력물을 어떻게 보이게할까요? 결과 시트의 한 열에 목록의 각 data.frame? – Beasterfield

+0

행 수가 다르다는 것을 정확하게 알고 있습니까? 존재하지 않는 요소에 대한 내보내기에 포함 할 내용은 무엇입니까? – rlegendi

+0

Excel의 출력이 R의 출력, 즉 서로 3 개의 벡터처럼 보이면 충분하다고 생각합니다. – Rico

답변

8

당신은 그것을 할 수 있습니다

: 모든 데이터 프레임이 같이

을 만들 do.call(rbind, ...)를 사용하여 같은 길이

  • 를 벡터 만들기 위해

    1. 패딩 NA 각 벡터를
      xx <- lapply(x, unlist) 
      max <- max(sapply(xx, length)) 
      do.call(rbind, lapply(xx, function(z)c(z, rep(NA, max-length(z))))) 
      
            rob1  rob2  rob3  rob4      
      [1,] 0.5003952 0.8393140 0.7104664 0.6157424  NA  NA 
      [2,] 0.6616334 0.5910927 0.5544849 0.7819938 0.4893888  NA 
      [3,] 0.6978980 0.4803941 0.5142944 0.6269719 0.7793864 0.6181355 
      

      다음은을 사용하는 간단한 문제입니다.또는 좋아하는 내보내기를 사용하여 방법을 능가하십시오.

  • 관련 문제