0
即使閱讀文檔後,我對如何使用dcast功能也有點困惑。我正在嘗試按如下方式熔化熔融數據幀:dcast熔融數據幀如何跨多個維度?
> head(res)
factoroneid factortwoid val
1 1 1 5.8223670800
2 1 2 -1.3314644000
3 1 3 0.7206910120
4 1 4 0.0762039224
5 1 5 2.7409736300
6 1 6 0.0896606575
res包含第1列和第2列作爲索引。我需要使用第一列數據作爲行號和第二列數據作爲列號,並使用第三列的值生成矩陣。我正在嘗試這樣的事情,但數據看起來不正確。
temp <- dcast(res, factoroneid + factortwoid ~ val)
預期的輸出應該是:
1 2 3 4 ...
1 5.82 -1.33 0.72 0.076 ...
2
3
4
.
.
能否請你建議?
謝謝。這似乎很簡單:)。我不知道如何在輸出結果中指定val。爲了更好地理解,在這種情況下,因爲它只有一個列,它只是複製值,但如果有多個列,那麼我們需要一個托架來使用聚合函數(例如SUM)來聚合它們。我的理解是否正確? – Alok
@Alok,不完全。如果來自同一列的多個值與任何單個'factoroneid〜factorwoid'組合匹配,則需要聚合函數。如果你在你的鑄造數據框中有多個值列,你首先需要進一步「融化」你的數據,這樣你只有一個值列,然後纔是「dcast」。參見[Andrie的解釋](http://stackoverflow.com/questions/11608167/cast-multiple-value-columns)。如果你有多個值列,但只想保留一列,那麼你使用'value.var'。 – BrodieG