# elder1 <- read.csv("elder1.csv")
# elder2 <- read.csv("elder2.csv")
# tt <- merge(elder1, elder2, by = "ID", all = FALSE)
# write.csv(tt, file = "ttnew.csv")
# attach(tt)
# tt <- transform(tt, SBPD = SBP - 140, bmi = weight / height / height * 10000)
# View(tt) # nolint: commented_code_linter.
# detach(tt)
# attach(tt)
# tt$bmi1[bmi < 18.5] <- 0
# tt$bmi1[bmi >= 18.5 & bmi < 24] <- 1
# tt$bmi1[bmi >= 24 & bmi < 28] <- 2
# tt$bmi1[bmi >= 28] <- 3
# levels(tt$bmi1)
# table(tt$bmi1)
# detach(tt)
# tt$bmi2 <- tt$bmi
# tt <- within(tt, {
# bmi2 <- NA
# bmi2[bmi < 18.5] <- 0
# bmi2[bmi >= 18.5 & bmi < 24] <- 1
# bmi2[bmi >= 24 & bmi < 28] <- 2
# bmi2[bmi > 28] <- 3
# bmi2 <- factor(bmi2, levels = c(0, 1, 2, 3))
# })
# print(levels(tt$bmi2))
# print(table(tt$bmi2))
# tt$pressure <- ifelse(tt$SBP >= 140 | tt$DBP >= 90, 2, 1)
# print(table(tt$pressure))
# tt$sugar <- ifelse(tt$sugar > 7, 2, 1)
# print(table(tt$sugar))
# table(tt$income)
# tt$income1[tt$income < 3] <- 0
# tt$income1[tt$income >= 3 & tt$income < 6] <- 1
# tt$income1[tt$income >= 6] <- 2
# print(table(tt$income1))
# str(tt)
# tt$sex <- factor(tt$sex)
# tt$bmi1 <- factor(tt$bmi1, levels = c(1, 0, 2, 3))
# tt$pressure <- factor(tt$pressure)
# tt$income1 <- factor(tt$income1)
# tt$marriage <- factor(tt$marriage, levels = c(2, 1, 3, 4, 5))
# elder1 <- read.csv("elder1.csv")
# elder2 <- read.csv("elder2.csv")
# tt <- merge(elder1, elder2, by = "ID", all = FALSE)
# write.csv(tt, file = "ttnew.csv")
# attach(tt)
# tt <- transform(tt, SBPD = SBP - 140, bmi = weight / height / height * 10000)
# detach(tt)
# attach(tt)
# tt$bmi1[bmi <= 18.5] <- 0
# tt$bmi1[bmi > 18.5 & bmi <= 24] <- 1
# tt$bmi1[bmi > 24 & bmi < 28] <- 2
# tt$bmi1[bmi > 28] <- 3
# levels(tt$bmi1)
# table(tt$bmi1)
# detach(tt)
# tt <- tt$bmitt <- within(tt, {
# bmi2 <- NA
# bmi2[bmi <= 18.5] <- 0
# bmi2[bmi > 18.5 & bmi < 24] <- 1
# bmi2[bmi >= 24 & bmi < 28] <- 2
# bmi2[bmi > 28] <- 3
# bmi2 <- factor(bmi2, levels = c(0, 1, 2, 3))
# })
# print(levels(tt$bmi2))
# print(table(tt$bmi2))
# tt$pressure <- ifelse(tt$SBP >= 140 | tt$DBP >= 90, 2, 1)
# print(table(tt$pressure))
# tt$sugar <- ifelse(tt$sugar > 7, 2, 1)
# print(table(tt$sugar))
# table(tt$income)
# tt$income1[tt$income <= 3] <- 0
# tt$income1[tt$income > 3 & tt$income <= 6] <- 1
# tt$income[tt$income > 6] <- 2
# print(table(tt$income))
# str(tt)
# tt$sex <- factor(tt$sex)
# tt$bmi1 <- factor(tt$bmi1, levels = c(1, 0, 2, 3))
# tt$pressure <- factor(tt$pressure)
# tt$income1 <- factor(tt$income1)
# tt$marriage <- factor(tt$marriage, levels = c(2, 1, 3, 4, 5))
# print(is.na(elder1$height))
# print(which(is.na(elder1$height)))
# t1 <- elder1[which(is.na(elder1$height) == TRUE), ]
# print(dim(t1))
# t2 <- elder1[which(is.na(elder1$height) == FALSE), ]
# print(dim(t2))
# View(t2)
library(dplyr)
t1 <- read.csv("elder1.csv")
t2 <- read.csv("elder2.csv")
# join数据合并
tt <- inner_join(t1, t2, by = c("ID"))
tt1 <- full_join(t1, t2, by = c("ID"))
tt2 <- left_join(t1, t2, by = c("ID"))
tt3 <- right_join(t1, t2, by = c("ID"))
# filter数据筛选
t11 <- filter(t1, SBP >= 140)
t12 <- filter(t1, SBP >= 140, DBP >= 90, sugar > 7)
t13 <- filter(t1, SBP >= 140 | DBP >= 90)
t14 <- filter(t2, sex == 1)
# # arrange排列函数
# arrange(t1, SBP)
# arrange(t1, desc(DBP))
# arrange(t1, SBP, DBP)
# arrange(t1, desc(DBP), SBP)
# select选择函数
t15 <- select(t1, -DBP, -SBP)
t16 <- select(t1, ID, DBP, HDL, everything())
# mutate变形函数
t19 <- mutate(t1, bmi = weight / (height^2) * 10000)
t20 <- mutate(t1, x1 = weight * 2, x2 = height / 100)
print(table(t2$income))
t2$income <- factor(t2$income)
t2 <- mutate(t2, income1 = recode(income,
"1" = 1, "2" = 2, "3" = 2, "5" = 2, "6" = 3, "7" = 3, "8" = 3
))
t2$income1 <- factor(t2$income1)
print(table(t2$income1))
# summarise
summarise(t1, DBP_mean = mean(DBP), DBp_median = median(DBP))
t1 %>%
summarise(across(
c(DBP, SBP),
list(
count = ~ n(),
mean = ~ mean(., na.rm = TRUE),
median = ~ median(., na.rm = TRUE)
)
))
t1 %>%
summarise(across(
where(is.numeric),
list(
count = ~ n(),
mean = ~ mean(., na.rm = TRUE),
median = ~ median(., na.rm = TRUE)
)
))
# group_by
tt01 <- group_by(tt, sex)
summarise(tt01, count = n())
tt02 <- tt01 %>%
summarise(across(c(DBP, SBP), list(
mean = ~ mean(., na.rm = TRUE),
median = ~ median(., na.rm = TRUE),
count = ~ sum(!is.na(.))
)))