2016-10-25 88 views
-1

我有一個名爲mylist的列表,其中有108行與標題分開。我試圖將其轉換成數據幀,並使用下面的命令如何將列表轉換爲數據框,同時保留其標題R

df <- data.frame(matrix(unlist(mylist), nrow=108, byrow=F)) 

然而,在我的列表中的每個矩陣(MYLIST)頭沒有被我的新數據幀DF定義的成功合作。

names(df) 

"X1" "X2" "X3" "X4" "X5" "X6" "X7" "X8" "X9" "X10" "X11" "X12" "X13" "X14" "X15" "X16" "X17" "X18" "X19" "X20" "X21" "X22" "X23" "X24" "X25" "X26" "X27" "X28" "X29" "X30" "X31" "X32" "X33" "X34" "X35" "X36" 

mylist看起來像這樣

head(mylist[[1]]) 

     RAmi   MDaf 
1 11.806405 -3.588567 
2 7.711101 -9.721415 
3 2.315104 11.217575 
4 20.372999 -2.267938 
5 22.279704 -1.668082 
6 13.57909 20.67355 



head(mylist[[2]]) 

      Tomi   Rahaf 
    1  325   -3 
    2  71   -9 
    3  2   11 
    4  20.999  -22 
    5  22   -16 
    6  139   2065 

這只是head(mylist[[i]])i=1但存在類似的事情對於i = 1,2,3,... 18

我想要的是把它們放在一個dataf中rame相鄰。它工作正常,但我有問題的標題

我希望可以幫助我理解如何這樣做。 謝謝

+0

顯示'mylist'或說明該問題的傳真沿... – Frank

+0

這是非常長的,我可以如何顯示給你 – rsc05

+0

使用一個不同的列表足夠相似,以說明問題。沒有列表的「標題」或「行」這樣的東西,所以你所要求的是沒有一個例子相當不清楚。有關製作可重現示例的建議,請參閱:http://stackoverflow.com/a/28481250/ – Frank

回答

0

看來,在將數據幀列表轉換爲一個數據幀時出現問題。因此,從一開始就處理一個數據幀會更好。

例如,在我來說,我進口的原始數據

#data1=read.csv(file.choose(), header=F) 
data1=read.csv 

然後後來我開始分析我的數據。然後我寫了一個代碼來生成一個數據幀在

# Here we are extracting the data which we wish to have 
#iterations=nrow(data1) #Check the number of rows 

listOfDataFrames <- vector(mode = "list", length = 18) # define a dataframe with length 
#mylist <- list() #create an empty list 
for (k in 0:17) 
{ 
    j=18 # from 14 i.e. switzerland this is not true anymore 
    if ((k>=14) && (k<16)) 
    { 
     f=7+j*k 
     s=3+j*k 

    } else if (k<14) 
    { 
     s=7+j*k-4 
     f=7+j*k 
    } else if (k==16) 
    { 
     f=j*k+5 
     s=f+4 
    } else if (k==17) 
    { 
     f=304 
     s=301 
    } 
    b= data1[,c(f,s)] 
    #mylist[[k+1]] <- b 
    listOfDataFrames[[k+1]]=b 
} 
#df <- data.frame(matrix(unlist(mylist), nrow=108, byrow=F)) 

這讓我把所有的數據到一個數據幀與頭

df=do.call("cbind", listOfDataFrames) 
head(df) 
相關問題