我试图更多地了解R并在Kaggle上发现了这个非常好的剧本:https://www.kaggle.com/msjgriffiths/d/kaggle/sf-salaries/explore-sf-salary-data/code
我是R的初学者,我很难理解海报使用的部分代码,总结如下:
data_csv <- read_csv("../Salaries.csv", na=c("Not Provided"))
data <- data_csv
glimpse(data_csv)
non_numeric_vars <- names(data)[!sapply(data, is.numeric)]
data %>%
select(one_of(non_numeric_vars)) %>%
summarise_each(funs(unique_vars = length(unique(.))))
我不理解的选择是上面代码中的funs
函数。如果我读了dplyr的R文档,它说它需要一个由3个参数指定的函数列表。根据这个帖子What does %>% mean in R,这三个参数在哪里或者是否被传入?
此外,我试图找到unique_vars
的文档,但没有提出任何问题。我不确定在哪里可以阅读更多有关此变量的信息?
funs {dplyr} R Documentation Create a list of functions calls.
Description
funs provides a flexible way to generate a named list of functions for input to other functions like summarise_each.
Usage
funs(...)
funs_(dots) Arguments
dots,... A list of functions specified by: Their name, "mean" The function itself, mean A call to the function with . as a dummy parameter, mean(., na.rm = TRUE) Examples
funs(mean, "mean", mean(., na.rm = TRUE))
# Overide default names funs(m1 = mean, m2 = "mean", m3 = mean(., na.rm = TRUE))
# If you have function names in a vector, use funs_ fs <- c("min", "max") funs_(fs)
运行代码后的结果如下:不确定unique_vars变量在结果中的位置:
## Source: local data frame [1 x 6]
##
## EmployeeName JobTitle Benefits Notes Agency Status
## (int) (int) (int) (int) (int) (int)
## 1 110811 2159 98648 1 1 3
答案 0 :(得分:0)
funs
不需要3个参数。在文档中,它说的是
指定的功能列表:他们的名字,&#34;意思是&#34;函数本身,意味着对函数的调用。作为虚拟参数,mean(。,na.rm = TRUE)
这是将参数格式化为funs
的3种不同方法。 funs
的每个参数都被解释为一个函数。
unique_vars = length(unique(.))
将length(unique(.))
汇总的输出标记为名为&#34; unique_vars&#34;。