【发布时间】:2013-07-26 17:45:04
【问题描述】:
我是在 R 中重塑数据的新手,不知道如何使用 reshape()(或其他包)来创建面板数据。每个地理单位有两个时间观测值,但是每个时间观测值都被格式化为一个变量。例如:
subdistrict <- 1:4
control_t1 <- 5:8
control_t2 <- 9:12
motivation_t1 <- 12:15
motivation_t2 <- 16:19
data_mat <- as.data.frame(cbind(subdistrict, control_t1, control_t2, motivation_t1, motivation_t2))
data_mat
subdistrict control_t1 control_t2 motivation_t1 motivation_t2
1 1 5 9 12 16
2 2 6 10 13 17
3 3 7 11 14 18
4 4 8 12 15 19
这里,control_t1 和 control_t2 分别指不同的时期。我的目标是重塑数据,以便可以建立时间变量并折叠命名变量以生成以下帧:
subdistrict time control motivation
1 1 1 12
1 2 5 16
2 1 2 13
2 2 6 17
3 1 3 14
3 2 7 18
4 1 4 15
4 2 8 19
我不确定如何创建新的时间变量,以及如何折叠和重命名变量以重新塑造数据。感谢您的帮助。
【问题讨论】:
-
目前,您的 data.frame 中的 colnames 和指定的变量名称不匹配。所以这个例子不能立即执行。为了大家的方便,可能想更正它。
-
感谢您发现这一点;已编辑。