FangGong
其实还是叫gather和spread
另外又造了一个pivot_longer和pivot_wider
barnett874
- 2021年8月7日
- 注册于 2021年5月16日
yihui
看到个支持占位符的做法Sys.setenv("_R_USE_PIPEBIND_" = "true")
- 已编辑
chuxinyuan 测试了下
%>%
和|>
速度一样,都比 4.0.5 快 16% 的样子。chuxinyuan
增加一行能好,但是baseR功力太弱,不知道怎么改的更好看dat <- dat[order(dat$year, dat$month, dat$day),]
- 已编辑
library(tidyverse) library(lubridate) #构造数据 data <- data.frame( stringsAsFactors = FALSE, date = c("2020-4-5","2020-4-6", "2020-4-7","2020-4-8","2020-4-9","2020-4-10","2020-5-15", "2020-5-16","2020-5-17","2020-5-18","2020-5-19", "2020-5-20","2020-5-21"), value = c(1L, 2L, 3L, 4L, 5L, 6L, 7L, 8L, 9L, 10L, 11L, 12L, 13L) ) data %>% mutate(date = date(date), #转换成date型 Month = month(date), #添加提取月份 Day = day(date)) %>% #添加日期 group_by(Month) %>% #数据按照月份分组 do(tail(., 5)) %>% #选取每个月的最后五行,这里默认日期已经排序 summarise(mean = mean(value)) #求均值
结果如下
# A tibble: 2 x 2 Month mean * <dbl> <dbl> 1 4 4 2 5 11
- 已编辑
KANG1943 不好意思,本人老阅读障碍了
func_plot <- function(var_data, name) { # 作图参数设置 plot_data <- ggplot() + geom_point(aes(c(1:10), mydata[, name])) + labs(y = name) # 把图打出来,这里不用print plot_data } func_plot(mydata, "name_1") # 函数2:以下函数能对数据的所有列作图 func_plot_df <- function(var_data) { # 建一个列表先存储要打印的图 plot_ls <- vector("list") for (i in names(var_data)) { plot_ls[[i]] <- invisible(func_plot(var_data, i)) #使用invisible } # 然后把这些图安排在一个2 X 2的画布上 ggarrange(plotlist = plot_ls, nrow = 2, ncol = 2) } func_plot_df(mydata)
把 print(plot_data) 注释了即可……
因为你确实没做覆盖……
test_lm$coefficients <- coef_transform(test_lm)