2017-11-30 13 views
0

私は会社ごとに8つの変数を持ち、合計25の企業があります。しかし、私はこれらの会社を区別する必要はありません。この例を見ると、AHとJUMBOを1列に、AHQ1とJUMBOQ1を同じ列に、Q2を両方とも列に入れる必要があります。このように私は6列を持っていませんが、これらの行には3倍と2倍の観測値しかありません。コラムのタイトルは、AH、AHQ1、AHQ2のどちらでもかまいません。R-ヘッダーを取ることなく列から行まで

アドバイスはありがとうございます!データの

例:

df <- data.frame("ID" = c(1,1,2,2,2,2), "Year" = c(2012, 2015,2012,2013,2015,2016), 
"AH" = c(1, NA, 1,1,1,1), "AHQ1" = c(8, NA,7,8,9,10), 
      "AHQ2" = c(10,NA,7,8,5,2),"JUMBO" = c(NA,NA,1,1,1,NA), 
"JUMBOQ1" = c(NA,NA,8,9,7,NA), "JUMBOQ2"= c(NA,NA,10,9,7,NA)) 
+0

出力:dput(ヘッド(DF))>> 構造(リスト(IDの=のC(1、1、2、2、2、2)、年= cで(2012年、2015年、 2012、 AHQ1 = c(8, NA、7,8,9,10)、AHQ2 = c(10、NA、1、1、1) JUMBOQ1 = c(NA、NA、8,9,7、NA)、JUMBOQ2 = c(NA、0,1,2,3,4,5,6,7,8,9,10) (ID、年、AH、AHQ1、AHQ2、 「JUMBO」、「JUMBOQ1」、「JUMBOQ2」、 )、row.names = c(NA、6L)、class = "data.frame") –

+1

期待される出力は何ですか? – Sotos

+2

質問に追加する必要があります – suvartheec

答えて

1
temp <- cbind(df[1:2], df[6:8]) 
names(temp) <- names(df[1:5]) 

df2 <- rbind(df[1:5], temp) 

> df2 
    ID Year AH AHQ1 AHQ2 
1 1 2012 1 8 10 
2 1 2015 NA NA NA 
3 2 2012 1 7 7 
4 2 2013 1 8 8 
5 2 2015 1 9 5 
6 2 2016 1 10 2 
7 1 2012 NA NA NA 
8 1 2015 NA NA NA 
9 2 2012 1 8 10 
10 2 2013 1 9 9 
11 2 2015 1 7 7 
12 2 2016 NA NA NA 

が、これはあなたが探しているものですか?

+0

はい、私は私のデータセット全体にこのコードを使うことができます:5000個の観測値と25個の変数、ありがとうございます! –

+0

ようこそ。これで問題に十分に答えるならば、答えを受け入れることを自由にしてください。 – LAP

+0

こんにちはLAP、あなたは問題を解決しましたが、1つの変数を追加した新しいデータセットで試しましたが、次のエラーが表示されます:警告メッセージ: data.table :: data.table(...): サイズは9ですが最大サイズは13です(リサイクルされた残りの4つのアイテムは残ります) どのように私はこれを解決することができますか? –

関連する問題