[英]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.