亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

將計數轉換為長格式到寬格式的簡單方法

將計數轉換為長格式到寬格式的簡單方法

Qyouu 2019-10-22 21:56:55
我有以下數據集:sample.data <- data.frame(Step = c(1,2,3,4,1,2,1,2,3,1,1),                          Case = c(1,1,1,1,2,2,3,3,3,4,5),                          Decision = c("Referred","Referred","Referred","Approved","Referred","Declined","Referred","Referred","Declined","Approved","Declined"))sample.data   Step Case Decision1     1    1 Referred2     2    1 Referred3     3    1 Referred4     4    1 Approved5     1    2 Referred6     2    2 Declined7     1    3 Referred8     2    3 Referred9     3    3 Declined10    1    4 Approved11    1    5 DeclinedR中是否可以將其轉換為寬表格式,并在標頭上做出決定,并且每個單元格的值就是出現次數,例如:Case    Referred    Approved    Declined1          3           1            02          1           0            13          2           0            14          0           1            05          0           0            1
查看完整描述

3 回答

?
互換的青春

TA貢獻1797條經驗 獲得超6個贊

您可以使用簡單的table()語句來完成此操作。您可以通過設置因子水平來獲得所需的響應。


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


查看完整回答
反對 回復 2019-10-22
?
四季花海

TA貢獻1811條經驗 獲得超5個贊

-package dcast函數中的聚合參數reshape2默認為length(= count)。在data.table-package中,dcast實現了該函數的改進版本。因此,在您的情況下,這將是:


library('reshape2') # or library('data.table')

newdf <- dcast(sample.data, Case ~ Decision)

或顯式使用參數:


newdf <- dcast(sample.data, Case ~ Decision,

               value.var = "Decision", fun.aggregate = length)

這給出了以下數據框:


> 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

如果未指定聚合函數,則會收到一條警告,告知您dcast正在使用它lenght作為默認值。


查看完整回答
反對 回復 2019-10-22
?
萬千封印

TA貢獻1891條經驗 獲得超3個贊

這是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


查看完整回答
反對 回復 2019-10-22
  • 3 回答
  • 0 關注
  • 714 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號