#1.1 a <- data.frame( a1 = c(2, 4, 6), a2 = c(3, 5, 8), a3 = c(4, 1, 9)) a
#1.2 ?pmin pmin(a\(a1,a\)a2,a$a3)
#1.3 pmin_apply <- function(df) apply(df, 1, min) pmin_apply(a)
#1.4 pmin_for <- function(df) { sapply(1:nrow(df), function(i) min(df[i, ])) } pmin_for(a)
#1.5 library(bench) bench::mark(base=pmin(a\(a1,a\)a2,a$a3), pmin_apply=pmin_apply(a), pmin_for=pmin_for(a) )
#2.1 b1 <- data.frame(name_b1 = c(“文”,“颜”,“唐”,“黄”), score = c(95,96,97,98)) b2 <- data.frame(name_b2 = c(“文”,“颜”), github = c(“uuu1016”,“yanyutong111”)) head(b1) head(b2)
#2.2 ?merge merged_data <- merge(b1, b2, by.x = “name_b1”, by.y = “name_b2”, all.x = FALSE, all.y = FALSE, sort = TRUE) merged_data
#2.3 library(dplyr) b1 %>% merge(b2, by.x = “name_b1”, by.y = “name_b2”)
#2.4 %merge% <- function(x, y, all = FALSE, all.x =
all, all.y = all, sort = TRUE, …) { result <- merge(x, y, by.x =
names(x)[1], by.y = names(y)[1], all.x = all.x, all.y = all.y, sort =
sort, …) structure(result[-1], row.names = result[[1]]) }
b1 %merge% b2