2016-06-01 118 views
-1

我想將列轉換爲行。因此我使用「重塑」功能來做到這一點。更確切地說,我有:將列轉換爲行

`n = c(2, 3, 5) 
s = c("aa", "bb", "cc") 
b = c(TRUE, FALSE, TRUE) 
df = data.frame(n, s, b)` 

事情是,我有幾個「s」的值(總是相同的重複)爲每個「n」。

我用:

reshape(df, idvar = "s", ,direction = "wide", varying = list("b")) 

我犯了一個錯誤的地方,但我無法弄清楚。

+0

使用'dput',不與'images'請出示重複的例子。此外,圖像不清楚,有很多空白。 – akrun

+0

從zoo包中查看na.locf,然後[將數據從長格式重新整形爲寬格式](http://stackoverflow.com/questions/5890584) – zx8754

回答

0

您可以使用cbind.data.frame()table()函數一起

> df <- data.frame(Country = c("Aus","Ind","NZ"), Year= c(1956,1957,1958)) 
> df 
    Country Year 
1  Aus 1956 
2  Ind 1957 
3  NZ 1958 

> table(cbind.data.frame(df$Country,df$Year)) 
       df$Year 
df$Country 1956 1957 1958 
     Aus 1 0 0 
     Ind 0 1 0 
     NZ  0 0 1