【发布时间】:2016-06-05 14:43:08
【问题描述】:
我是使用 R 的初学者。因此,这个问题可以被视为一个基本问题。
我正在尝试将矩阵格式的数据转换为面板数据格式时A,B或C = 0 例如:
set.seed(0); mat <- matrix(sample(0:1, 16, replace=T), ncol=4, nrow=4)
colnames (mat) <- c("A", "B", "C", "D")
rownames (mat) <- c("1","2", "3", "4")
转换成如下面板格式:
A 1
A 2
A 3
A 4
B 1
B 2
B 3
B 4
对于变量“1”-“4”为0的每个字母。
我尝试使用 plyr 包中的应用代码。有人可以提供正确的代码和参数,让 R 知道如果“1”=0,它应该提取 A、B、C 或 D,并对“2”、“3”和“4”重复相同的过程,并且 R将输出放在前者下方的新数据框中?
我意识到上述问题还不够清楚。因此,我通过 mtcars 数据集使其更加清晰。
cars <- mtcars
如果是这个数据集,我想要的格式是:
Mazda RX4 | mpg | 21.0
Mazda RX4 | cyl | 6
Mazda RX4 | disp | 160.0
...
Mazda RX4 Wag | mpg | 21.0
Mazda RX4 Wag | cyl | 6
...
等等。
【问题讨论】:
-
您的预期结果似乎与您的代码 sn-p 创建的
mat不匹配。使用mat,我确实得到了 A2、A3、B2、C3、C4、D1、D3。这是预期的结果吗?