3 回答

TA貢獻(xiàn)1797條經(jīng)驗(yàn) 獲得超6個(gè)贊
您可以使用簡(jiǎn)單的table()語句來完成此操作。您可以通過設(shè)置因子水平來獲得所需的響應(yīng)。
sample.data$Decision <- factor(x = sample.data$Decision,
levels = c("Referred","Approved","Declined"))
table(Case = sample.data$Case,sample.data$Decision)
Case Referred Approved Declined
1 3 1 0
2 1 0 1
3 2 0 1
4 0 1 0
5 0 0 1

TA貢獻(xiàn)1811條經(jīng)驗(yàn) 獲得超5個(gè)贊
-package dcast函數(shù)中的聚合參數(shù)reshape2默認(rèn)為length(= count)。在data.table-package中,dcast實(shí)現(xiàn)了該函數(shù)的改進(jìn)版本。因此,在您的情況下,這將是:
library('reshape2') # or library('data.table')
newdf <- dcast(sample.data, Case ~ Decision)
或顯式使用參數(shù):
newdf <- dcast(sample.data, Case ~ Decision,
value.var = "Decision", fun.aggregate = length)
這給出了以下數(shù)據(jù)框:
> newdf
Case Approved Declined Referred
1 1 1 0 3
2 2 0 1 1
3 3 0 1 2
4 4 1 0 0
5 5 0 1 0
如果未指定聚合函數(shù),則會(huì)收到一條警告,告知您dcast正在使用它lenght作為默認(rèn)值。

TA貢獻(xiàn)1891條經(jīng)驗(yàn) 獲得超3個(gè)贊
這是dplyr + tidyr方法:
if (!require("pacman")) install.packages("pacman")
pacman::p_load(dplyr, tidyr)
sample.data %>%
count(Case, Decision) %>%
spread(Decision, n, fill = 0)
## Case Approved Declined Referred
## (dbl) (dbl) (dbl) (dbl)
## 1 1 1 0 3
## 2 2 0 1 1
## 3 3 0 1 2
## 4 4 1 0 0
## 5 5 0 1 0
- 3 回答
- 0 關(guān)注
- 708 瀏覽
添加回答
舉報(bào)