1
我有以下的數據幀,這給出了許多標準設置跨列的邏輯響應:ř重塑寬的數據長
structure(list(Householdref = c("003015002024001", "003016003006001",
"003016004013001", "003016006002001", "003017003009002", "003017003009003",
"003017003009004", "003017003037001", "003017003049001", "003070001026001",
"003070003042001", "003070005002001", "003070005021001", "003070009005001",
"003071002055001", "003071003037001", "003072003029001", "003072006002001",
"003072006018001"), B5_Glass = c(FALSE, FALSE, FALSE, FALSE,
FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE,
FALSE, FALSE, FALSE, FALSE, FALSE, FALSE), B5_Glass.bottles = c(TRUE,
TRUE, FALSE, FALSE, TRUE, TRUE, FALSE, TRUE, FALSE, FALSE, TRUE,
TRUE, FALSE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE), B5_Paper.cardboard = c(FALSE,
FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE,
FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE
), B5_Metal.cans = c(TRUE, FALSE, FALSE, FALSE, TRUE, FALSE,
FALSE, FALSE, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, TRUE, TRUE,
TRUE, TRUE, TRUE), B5_Food.biodegradables = c(FALSE, FALSE, FALSE,
TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE,
FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE), B5_Plastic.polybags = c(TRUE,
FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE,
FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE
), B5_Plastic.bottles.containers = c(FALSE, FALSE, FALSE, FALSE,
FALSE, FALSE, TRUE, FALSE, TRUE, TRUE, FALSE, FALSE, TRUE, FALSE,
FALSE, TRUE, FALSE, FALSE, FALSE), B5_other = c(FALSE, FALSE,
FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE,
FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE)), .Names = c("Householdref",
"B5_Glass", "B5_Glass.bottles", "B5_Paper.cardboard", "B5_Metal.cans",
"B5_Food.biodegradables", "B5_Plastic.polybags", "B5_Plastic.bottles.containers",
"B5_other"), row.names = c("13", "21", "25", "29", "55", "56",
"57", "60", "61", "69", "76", "81", "83", "90", "101", "108",
"120", "125", "127"), class = "data.frame")
我需要重塑此數據,使我剛纔三列:Householdref, TRUE and FALSE
,以便列的名稱現在出現在TRUE或FALSE列中,以便每個Householdref
將有多行。
我一直在嘗試reshape()
如下:
reshape(ar_waste_sep, direction="long", varying=2:9, sep=c("_"))
但這樣結束了:
Householdref time B5 id
1.Glass 003015002024001 Glass FALSE 1
2.Glass 003016003006001 Glass FALSE 2
3.Glass 003016004013001 Glass FALSE 3
4.Glass 003016006002001 Glass FALSE 4
5.Glass 003017003009002 Glass FALSE 5
6.Glass 003017003009003 Glass FALSE 6
7.Glass 003017003009004 Glass FALSE 7
8.Glass 003017003037001 Glass FALSE 8
9.Glass 003017003049001 Glass FALSE 9
10.Glass 003070001026001 Glass FALSE 10
11.Glass 003070003042001 Glass FALSE 11
12.Glass 003070005002001 Glass FALSE 12
因此,大家可以看到不太我後。我已經搜索了一個例子,可以告訴我如何做我想做的事情,並且確信它不是太複雜,但我只是繞着圈子走。會有人知道一個快速簡便的方法來達到我想要IE這是什麼:提前
Householdref TRUE FALSE
003015002024001 Glass NA
003015002024001 Glass.bottles NA
003015002024001 NA Paper.cardboard
003015002024001 NA Metal.cans
003015002024001 NA Plastic.bottles
003015002024001 NA Plastic
003017003009004 GLass NA
003017003009004 NA Glass.bottles
003017003009004 Paper.cardboardNA
感謝,
馬蒂