I am struggling with converting a set of panel sets from a wide format to a long one. The Dataset set looks like this:
ID | KP1_430a | KP1_430b | KP1_430c | KP2_430a | KP2_430b | KP2_430c | KP1_1500a | ...
1 ....
2 ....
KP1; KP2 to KP7 describe the Waves. a, b to f describe a particular element. (For example, right-sided placement of Party a)
I would like to have this data in a long format. Like this:
ID | Party | Wave | 430 | 1500
1 1 1 .. ..
1 2 1 .. ..
. . .
1 1 2 .. ..
. . .
2 1 1 .. ..
I tried using the reshape function. But I had problems with changing his time and over the parties at the same time.
Here is a small example of data.frame.
data <- data.frame(matrix(rnorm(10),2,10))
data[,1] <- 1:2
names(data) <- c("ID","KP1_430a" , "KP1_430b" , "KP1_430c" , "KP2_430a" , "KP2_430b ", "KP2_430c ", "KP1_1500a" ,"KP1_1500b", "KP1_1500c")
And this is how far I got.
data_long <- reshape(data,varying=list(names(data)[2:4],names(data)[5:7], names(data[8:10]),
v.names=c("KP1_430","KP2_430","KP1_1500"),
direction="long", timevar="Party")
: ? ? ( () [2: 4]) . data.frame , .
EDIT: : , .
-, Bind KP1_430a KP1_1500a , Time = 1 Party = 1. - [b-f], -. [2-7], , .