[英]How can I fix this error that I'm getting using the inner_join function?
vg1<-rev_vg[,c(4,6,11)]
df2006<-vg1%>%
filter(Year==2006)%>%
rename(Sales2006=Global_Sales)
View(df2006)
df2016<-vg1%>%
filter(Year==2016)%>%
rename(Sales2016=Global_Sales)
View(df2016)
merged_df<-vg1%>%
inner_join(vg2,by="Publisher")
錯誤by
不能包含 RHS 中缺少的連接列Publisher
不太確定如何修復此錯誤以合並這些數據幀。
PS 我正在使用一個名為“視頻游戲銷售”的數據集。 它的版本可以在 Kaggle 上找到,盡管它們可能與我正在使用的集合不同。
如果您閱讀錯誤,答案很明顯,在您的一個數據框中沒有名為“Publisher”的變量。 變量 in by
需要出現在兩個幀中,或者您可以使用by = c(x, y)
傳遞兩個不同的名稱。
參見: https://dplyr.tidyverse.org/reference/join.html
您說vg1
和vg2
都具有發布者變量,並且該變量具有相同的名稱,但我們可以使用數據幀上的str()
的 output 來支持這一點。 對於它的價值,以下內容完全重復了您的錯誤
library(tidyverse)
vg1 <- data.frame(
Publisher = c("A", "B", "B", "C", "D", "D", "D"),
Game = c(1:7))
vg2 <- data.frame(
Pub = LETTERS[1:4],
Year = c(2004, 2005, 2007, 2002))
vg1 %>%
inner_join(vg2, by = "Publisher")
雖然這工作正常
library(tidyverse)
vg1 <- data.frame(
Publisher = c("A", "B", "B", "C", "D", "D", "D"),
Game = c(1:7))
vg2 <- data.frame(
Publisher = LETTERS[1:4],
Year = c(2004, 2005, 2007, 2002))
vg1 %>%
inner_join(vg2, by = "Publisher")
請注意, vg1 %>% inner_join(vg2, by = c("Publisher" = "Pub"))
也會起作用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.