iT邦幫忙

2024 iThome 鐵人賽

DAY 15
0
AI/ ML & Data

資料科學的小筆記系列 第 15

Day15:使用dplyr轉換資料-Summary Functions(2)

  • 分享至 

  • xImage
  •  

今天繼續紀錄Summary Functions的應用

邏輯計算
mean(): TRUE值的比例
sum(): TRUE值的數量

順序取值
dplyr::first(): 第一個數值
dplyr::last(): 最後一個數值
dplyr::nth(): 在第n位置的數值

建立範例資料集

library(dplyr)

# 建立範例資料集
df <- data.frame(
  group = c("A", "A", "B", "B", "C", "C"),
  value = c(TRUE, FALSE, TRUE, TRUE, FALSE, TRUE),
  numbers = c(5, 3, 8, 6, 9, 2)
)

# 查看範例資料集
print(df)

https://ithelp.ithome.com.tw/upload/images/20240826/20168607sXI7PWW9II.png

計算每個分組(group)中 value 為 TRUE 的比例

df_summary <- df |>
  group_by(group) |>
  summarize(
    proportion_true = mean(value)  # 計算 TRUE 的比例
  )

print(df_summary)

https://ithelp.ithome.com.tw/upload/images/20240826/20168607acbnFFb32Z.png

計算每個分組(group)中 value 為 TRUE 的數量

df_summary <- df |>
  group_by(group) |>
  summarize(
    count_true = sum(value)  # 計算 TRUE 的數量
  )

print(df_summary)

https://ithelp.ithome.com.tw/upload/images/20240826/201686074A8LazYrWf.png

回傳每個分組(group)中 numbers 變數的第一個值

df_summary <- df |>
  group_by(group) |>
  summarize(
    first_number = first(numbers)  # 返回第一個值
  )

print(df_summary)

https://ithelp.ithome.com.tw/upload/images/20240826/20168607ccMWRmLbuV.png

回傳每個分組(group)中 numbers 變數的最後一個值

df_summary <- df |>
  group_by(group) |>
  summarize(
    last_number = last(numbers)  # 返回最後一個值
  )

print(df_summary)

https://ithelp.ithome.com.tw/upload/images/20240826/20168607faVxjg3lCJ.png

回傳每個分組(group)中 numbers 變數的第2個值

df_summary <- df |>
  group_by(group) |>
  summarize(
    second_number = nth(numbers, 2)  # 返回第2個值
  )

print(df_summary)

https://ithelp.ithome.com.tw/upload/images/20240826/20168607DpX2m02Cd6.png

參考資料:

  1. Data transformation with dplyr :: Cheatsheet

上一篇
Day14:使用dplyr轉換資料-Summary Functions(1)
下一篇
Day16:使用dplyr轉換資料-Summary Functions(3)
系列文
資料科學的小筆記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言