我在 R 中有一个表,其中包含str():
str()
table [1:3, 1:4] 0.166 0.319 0.457 0.261 0.248 ... - attr(*, "dimnames")=List of 2 ..$ x: chr [1:3] "Metro >=1 million" "Metro <1 million" "Non-Metro Counties" ..$ y: chr [1:4] "q1" "q2" "q3" "q4"
当我打印它时看起来像这样:
y x q1 q2 q3 q4 Metro >=1 million 0.1663567 0.2612212 0.2670441 0.3053781 Metro <1 million 0.3192857 0.2480012 0.2341030 0.1986102 Non-Metro Counties 0.4570341 0.2044960 0.2121102 0.1263597
我想摆脱xandy并将其转换为看起来与上面完全相同的数据框(三行四列),但没有xor y。如果我使用as.data.frame(mytable),我会得到这个:
x
y
as.data.frame(mytable)
x y Freq 1 Metro >=1 million q1 0.1663567 2 Metro <1 million q1 0.3192857 3 Non-Metro Counties q1 0.4570341 4 Metro >=1 million q2 0.2612212 5 Metro <1 million q2 0.2480012 6 Non-Metro Counties q2 0.2044960 7 Metro >=1 million q3 0.2670441 8 Metro <1 million q3 0.2341030 9 Non-Metro Counties q3 0.2121102 10 Metro >=1 million q4 0.3053781 11 Metro <1 million q4 0.1986102 12 Non-Metro Counties q4 0.1263597
我可能从根本上不理解表格与数据框的关系。
我已经想通了:
as.data.frame.matrix(mytable)
做我需要的——显然,表格需要以某种方式转换为矩阵,以便适当地转换为数据框。我在 Computational Ecology blog 找到了有关列联表的 as.data.frame.matrix() 函数的更多详细信息。