是的,你可以使用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中,并打印结果。

请根据你的实际数据和需求修改文件名、列名、正则表达式等,并根据具体需求进行适当的调整。

R语言使用inner_join()函数合并数据并添加阶段信息

原文地址: https://www.cveoy.top/t/topic/pBo 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录