R语言使用inner_join()函数合并数据并添加阶段信息
是的,你可以使用inner_join()函数来实现上述过程。以下是使用inner_join()函数进行内连接合并的修改后代码示例:
library(dplyr)
library(tidyr)
# 读取五个表格
data1 <- read.csv('data1.csv')
data2 <- read.csv('data2.csv')
data3 <- read.csv('data3.csv')
data4 <- read.csv('data4.csv')
data5 <- read.csv('data5.csv')
# 添加阶段和样本号的列
add_info <- function(data, stage) {
data %>%
mutate(阶段 = stage,
样本号 = sub('^F(\d)NL(.*)$', '\2', CODE))
}
merged_data <- data1 %>%
inner_join(data2, by = 'CODE') %>%
inner_join(data3, by = 'CODE') %>%
inner_join(data4, by = 'CODE') %>%
inner_join(data5, by = 'CODE') %>%
add_info('阶段1') %>%
add_info('阶段2') %>%
add_info('阶段3') %>%
add_info('阶段4') %>%
add_info('阶段5')
# 合并五个表格为长型数据
long_data <- merged_data
# 合并五个表格为宽型数据
wide_data <- merged_data %>%
pivot_wider(names_from = 阶段, values_from = c(列名1, 列名2, 列名3))
# 打印长型数据和宽型数据
print(long_data)
print(wide_data)
在这个修改后的示例代码中,我们使用inner_join()函数将五个表格按照CODE列进行内连接合并,并使用add_info()函数添加阶段和样本号的列。然后,我们通过连续调用add_info()函数为每个阶段添加信息。最后,我们将合并后的数据分别保存到长型数据框long_data和宽型数据框wide_data中,并打印结果。
请根据你的实际数据和需求修改文件名、列名、正则表达式等,并根据具体需求进行适当的调整。
原文地址: https://www.cveoy.top/t/topic/pBo 著作权归作者所有。请勿转载和采集!