簡體   English   中英

如何循環以在R中創建和顯示多個數據幀

[英]How to loop to create and display multiple data frames in R

我想為從給定數據幀中指定的一組變量創建相對頻率摘要。 我有:

library(tidyverse)
library(psych)

mtcars %>%
    count(mpg) %>%
    mutate(freq = n / sum(n)) %>%
    arrange(desc(n)) %>%
    headTail(top = 5, bottom = 5)

mtcars %>%
    count(disp) %>%
    mutate(freq = n / sum(n)) %>%
    arrange(desc(n)) %>%
    headTail(top = 5, bottom = 5)

這將顯示每個數據框,這就是我想要的: 在此處輸入圖片說明

如何創建循環,以便可以指定變量列表並從中創建多個數據幀。 例如:

my_variables <- c(mpg, dipl)

# some function to make multiple data frames

如果有完全不同的方式來實現這一目標,請回答。

您是說要遍歷變量並為每個變量制作頻率表嗎? 如果是這樣,下面的代碼可以。 簡而言之, count_函數可以使用字符變量名稱,而count可以使用“裸”變量名稱。

library(tidyverse)
library(psych)

make_freq_data <- function(name) {
  mtcars %>%
    count_(name) %>%
    mutate(freq = n / sum(n)) %>%
    arrange(desc(n)) %>%
    headTail(top = 5, bottom = 5)
}

my_variables <- c("mpg", "disp")
lapply(my_variables, make_freq_data)

暫無
暫無

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

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