簡體   English   中英

在 r 中對 dataframe 中的數據進行分組和匯總

[英]Grouping and summarizing data across a dataframe in r

所以我在 r 中有這個 dataframe,例如,數據要么像“向上”要么像“向下”,

df <- data.frame(Var1 = c("up", "down", "up", "down"),
                Var2 = c("down", "up", "down", "down"),
                Var3 = c("down", "down", "up", "up")
)
   df

我想要做的是使用 group_by 將每列設為一個組,然后匯總以獲取每列中上升和下降的計數。

到目前為止我已經想出了這個,

newdf <- lapply(df[1:3], function(x){
     group_by(.[[x]])%>%
     summarize(n = n())
  })

newdf

但不斷收到錯誤。 好像不認識“.”

Error in group_by(.[[x]]) : object '.' not found

有人有建議嗎?

我還使用 tidyverse package,我相信它包括 dyplyr

這是一種創建計算所有變量的表的方法

library(dplyr)
library(tidyr)

df <- data.frame(Var1 = c("up", "down", "up", "down"),
                 Var2 = c("down", "up", "down", "down"),
                 Var3 = c("down", "down", "up", "up")
)

df %>% 
  pivot_longer(cols = everything()) %>% 
  count(name,value) %>% 
  pivot_wider(names_from = value,values_from = n,values_fill = 0)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM