3 回答

TA貢獻(xiàn)1786條經(jīng)驗(yàn) 獲得超11個(gè)贊
我已經(jīng)知道了:
as.data.frame.matrix(mytable)
滿足我的需要-顯然,該表需要以某種方式轉(zhuǎn)換為矩陣,以便適當(dāng)?shù)剞D(zhuǎn)換為數(shù)據(jù)幀。我在Computational Ecology博客上發(fā)現(xiàn)了有關(guān)列聯(lián)表as.data.frame.matrix()函數(shù)的更多詳細(xì)信息。

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超9個(gè)贊
盡管在這種情況下結(jié)果會(huì)有所不同,因?yàn)榱忻菙?shù)字,但我使用的另一種方法是data.frame(rbind(mytable))。使用@XX中的示例:
> freq_t = table(cyl = mtcars$cyl, gear = mtcars$gear)
> freq_t
gear
cyl 3 4 5
4 1 8 2
6 2 4 1
8 12 0 2
> data.frame(rbind(freq_t))
X3 X4 X5
4 1 8 2
6 2 4 1
8 12 0 2
如果列名不是以數(shù)字開頭,則不X會(huì)將其添加到它們的前面。

TA貢獻(xiàn)1775條經(jīng)驗(yàn) 獲得超8個(gè)贊
簡短的答案:使用as.data.frame.matrix(mytable)@Victor Van Hee建議的。
長答案:as.data.frame(mytable)可能無法在table()函數(shù)生成的列聯(lián)表上使用,即使is.matrix(your_table)return TRUE。它仍然會(huì)將您的表融為一體factor1 factor2 factori counts。
例:
> freq_t = table(cyl = mtcars$cyl, gear = mtcars$gear)
> freq_t
gear
cyl 3 4 5
4 1 8 2
6 2 4 1
8 12 0 2
> is.matrix(freq_t)
[1] TRUE
> as.data.frame(freq_t)
cyl gear Freq
1 4 3 1
2 6 3 2
3 8 3 12
4 4 4 8
5 6 4 4
6 8 4 0
7 4 5 2
8 6 5 1
9 8 5 2
> as.data.frame.matrix(freq_t)
3 4 5
4 1 8 2
6 2 4 1
8 12 0 2
- 3 回答
- 0 關(guān)注
- 640 瀏覽
添加回答
舉報(bào)