我有一個資料框。在那個資料框中,我有兩個分類變數。如果我考慮這 2 個的叉積,那么我的資料框中的每個元素都有一行。
下表是頻率表。我不想顯示出現次數,而是顯示列測驗。關于如何做到這一點的任何想法?我一直試圖弄清楚,但我沒有找到辦法。

uj5u.com熱心網友回復:
如果我正確理解您的問題,您似乎想將資料從 long form 轉換為 wide form。您可以使用 dplyr 和pivot_wider函式輕松完成此操作:
首先,我們將制作一些示例資料(將來,不要將您的資料包含為影像,而是使用該dput函式以我們可以復制和粘貼的格式輸出它以重現問題):
df = data.frame(data_set=c('a','a','a','b','b','b','c','c','c'),
category=rep.int(c('d','e','f'),3),
tests=abs(rnorm(9,sd=3)),
best_threads=rnorm(9, 50, 20))
data_set category tests best_threads
1 a d 3.1162129 15.61119
2 a e 4.0933109 19.71428
3 a f 0.1026443 44.63157
4 b d 3.3482561 47.68211
5 b e 5.9149545 69.19018
6 b f 4.2248788 52.54404
7 c d 3.4384232 41.86539
8 c e 4.2985273 76.49010
9 c f 0.2164352 44.36635
然后我們將其轉換為寬格式,用作data_set新列名和tests這些單元格的值。我們需要 drop best_threads,或者在 pivot_wider 函式中,或者事先:
library(dplyr)
pivot_wider(df, # Data frame to pivot
-best_threads, # Drop the best_threads variable
names_from = 'data_set', # The variable to use for column names
values_from = 'tests' # The variable to put in the cells
)
# A tibble: 3 × 4
category a b c
<chr> <dbl> <dbl> <dbl>
1 d 3.12 3.35 3.44
2 e 4.09 5.91 4.30
3 f 0.103 4.22 0.216
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/526989.html
標籤:r数据框表关系
