我在论坛上发了几个帖子,但都没有成功。
如果我希望我是清楚的。如果不是,请告诉我我有两个名为traitement_RPE和traitement_VOL的tiblbles,其中包含3列名为“运动员”,“类型”和“价值”。
第一张图片表示traitement_VOL和第二张图片表示traitement_RPE。我想通过“Athletes”键加入它们。问题是traitement_RPE中的一些运动员不存在于traitement_VOL中。在这种情况下,我想要“NA”单元格:
在这个例子中,Balfet在traitement_VOL中有值,但在traitement_RPE中没有。所以当名称在tibble之间不匹配时,我想要NA单元格或“0”单元格,这无关紧要。
我尝试了left_join()
,full_join()
等.没有成功看到这张图片:
有:“Detected an unexpected many-to-many relationship between x
and y
.”(检测到x
和y
之间存在意外的多对多关系)。它为每个Type.y参数复制Type.x列。我只想让1个参数乘以1,如我的第三张图片所示。
我得到的最好的结果是merge()
,但我得到的是行连接而不是列连接,而且向traitement_RPE的“Valeur”中没有值的运动员添加行是很复杂的,因为这是偶然的(运动员的调查,有时他们不回答.)。
如果有人能帮我解决这个问题,谢谢!
下面是完整的代码:)对不起,有些部分是法语,但代码是一种通用语言:)
setwd(dirname(rstudioapi::getActiveDocumentContext()$path))
library(tidyverse)
# install.packages("xlsx")
# library(xlsx)
library(data.table)
library(readxl)
RPE_CDN_2324 <- read_excel("Suivi RPE 2223.xlsx",
na = "Non réalisé")
VOLUME_RCN_2324 <- read_excel("CDE_RCN_2324.xlsx",
sheet = "Vol_test", skip = 1)
traitement_RPE <- tibble(RPE_CDN_2324)
traitement_VOL <- tibble(VOLUME_RCN_2324)
## CODE SUR VOLUME_RCN_2324 ----
#PIVOT LONGER DES COLONNES DE RPE_CDN_2324
traitement_VOL <- traitement_VOL |>
pivot_longer(cols = starts_with("J2"), names_to = "VOL", values_to = "temps")
# SUPPRESSION DES NA DE RPE_CDN_2324
traitement_VOL <- traitement_VOL |>
filter(!is.na(temps))
# TRI DU TIBBLE PAR ORDRE ALPHABETIQUE DE RPE_CDN_2324
traitement_VOL <- traitement_VOL |>
rename(Athletes = "...1") |>
rename(Type = "VOL") |>
rename(Valeur = "temps") |>
arrange(Athletes)
#RECOMPOSITION DU TIBBLE DE RPE_CDN_2324
traitement_VOL <- traitement_VOL |>
select(Athletes, Type, Valeur) |>
filter(Valeur > 0.1)
### CODE SUR RPE_CDN_2324 ----
#PIVOT LONGER DES COLONNES DE RPE_CDN_2324
traitement_RPE <- traitement_RPE |>
pivot_longer(cols = starts_with("RPE"), names_to = "RPE", values_to = "valeur")
# SUPPRESSION DES NA DE RPE_CDN_2324
traitement_RPE <- traitement_RPE |>
filter(!is.na(valeur))
# TRI DU TIBBLE PAR ORDRE ALPHABETIQUE DE RPE_CDN_2324
traitement_RPE <- traitement_RPE |>
rename(Athletes = "Votre nom de famille") |>
rename(Type = "RPE") |>
rename(Valeur = "valeur") |>
arrange(Athletes)
#RECOMPOSITION DU TIBBLE DE RPE_CDN_2324
traitement_RPE <- traitement_RPE |>
select(Athletes ,Type , Valeur)
#### TRYING TO JOIN TIBBLES ----
# Bilann <- left_join(traitement_VOL, traitement_RPE, by = "Athletes")
# rename and set NAs to 0
# names(Bilann) <- c("Athletes", "Valeur", "Valeur")
# Bilann[is.na(Bilann)] <- 0
# BILAN <- merge(traitement_VOL, traitement_RPE, by = c("Athletes"))
# write.xlsx(x = traitement_RPE, file = "Traitemennt_RPE-testRCN.xls")
字符串
1条答案
按热度按时间cngwdvgl1#
你不会从你的示例dfs返回你的示例结果,因为数据是不同的。例如,“COLLECTIF”和“TERRAIN”对两个表来说不是通用的。但是这里有一个解决方案,假设你想用通用的属性连接数据,例如“RPE [ACTIVATION].21”和“J2 [ACTIVATION]"是一样的。
字符串