2016-04-11 19 views
0

私は同様の見出しを読んだが、残念ながら答えが見つかりませんでした。rにデータを転記する方法

  [,1]   [,2]   [,3]  [,4] [,5]   
HomeTeam "Arsenal"  "Leicester" "Man United" "QPR" "Stoke"  
AwayTeam "Crystal Palace" "Everton" "Swansea" "Hull" "Aston Villa" 

と私は次のようになりたい::問題は、私は次のようなデータを持っているということです

    Teams  Opponent 
HomeTeam   Arsenal Crystal Palace 
AwayTeam Crystal Palace  Arsenal 
HomeTeam1  Leicester  Everton 
AwayTeam1  Everton  Leicester 
HomeTeam2  Man United  Swansea  
AwayTeam2  Swansea  Man United 

私はあなたに何のアイデアを与えるために、次のコマンドを試してみましたが、その間違っています私はやろうとしています:

odd <- seq(1, 759, by = 2) 
even <- seq(2, 270, by = 2) 
df <- data.frame(team = df_1[odd,1], 
        opponent = df_1[even,1]) 

質問:私は上記のコマンドをどのように変更できますか?他のコードを教えてもらえますか?前もって感謝します!

+0

コマンド 'T'を参照してください。また、 '?transpose'は、"データの転置方法 "への答えをあなたに与えてくれました。 –

+0

@VincentGuillemot OPによって要求されたフォーマットは単純な転置ではありません。望ましい出力を得るために考慮すべき操作がいくつかあります。 – RHertel

+0

@RHertel:あなたは絶対に正しいので、私は答えではなくコメントとして書きました。 ;) –

答えて

1

は、あなたがこれを持って言う:

m <- structure(c("Arsenal", "Crystal Palace", "Leicester", "Everton", 
"Man United", "Swansea", "QPR", "Hull", "Stoke", "Aston Villa" 
), .Dim = c(2L, 5L), .Dimnames = list(c("HomeTeam", "AwayTeam" 
), NULL)) 

あなたがして、あなたの結果を得ることができます。

res<-cbind.data.frame(Teams=c(m),Opponent=c(m[2:1,])) 
rownames(res)<-make.unique(rep(c("HomeTeam","AwayTeam"),ncol(m)),sep="") 
#     Teams  Opponent 
#HomeTeam   Arsenal Crystal Palace 
#AwayTeam Crystal Palace  Arsenal 
#HomeTeam1  Leicester  Everton 
#AwayTeam1  Everton  Leicester 
#HomeTeam2  Man United  Swansea 
#AwayTeam2  Swansea  Man United 
#.... 
関連する問題