I would like to mutate a column in a df (1), based off a data in df (2) in relation to the data that exist in both df (1) and (2). Like join function.
So I have this dataframe (df):
df <- structure(list(orientasi = c("gay", "gay", "gay", "gay", "gay",
"gay", "gay", "gay", "gay", "gay", "gay", "gay", "gay", "gay",
"gay", "gay", "gay", "gay", "gay", "gay", "gay", "gay", "gay",
"gay", "gay", "gay", "gay", "gay", "gay", "gay", "gay", "gay",
"gay", "gay", "gay", "gay", "gay", "gay", "gay", "gay", "gay",
"gay", "gay", "gay", "gay", "gay", "gay", "gay", "gay", "gay",
"gay", "gay", "gay", "gay", "gay", "gay", "gay", "gay", "gay",
"gay", "gay", "gay", "gay", "gay", "gay", "gay", "gay", "gay",
"gay", "gay", "gay", "gay", "gay", "gay", "gay", "gay", "gay",
"gay", "gay", "gay", "gay", "gay", "gay", "gay", "gay", "gay",
"gay", "gay", "gay", "gay", "gay", "gay", "gay", "gay", "gay",
"gay", "gay", "gay", "gay", "gay"), tahun = c(1980L, 1981L, 1982L,
1983L, 1984L, 1985L, 1986L, 1987L, 1988L, 1989L, 1990L, 1991L,
1991L, 1991L, 1991L, 1991L, 1991L, 1991L, 1991L, 1991L, 1991L,
1991L, 1991L, 1991L, 1991L, 1991L, 1991L, 1992L, 1993L, 1993L,
1993L, 1993L, 1993L, 1993L, 1993L, 1994L, 1994L, 1994L, 1994L,
1994L, 1994L, 1994L, 1994L, 1994L, 1994L, 1994L, 1995L, 1995L,
1995L, 1995L, 1995L, 1995L, 1995L, 1995L, 1995L, 1995L, 1995L,
1995L, 1995L, 1995L, 1995L, 1995L, 1995L, 1995L, 1995L, 1995L,
1995L, 1995L, 1995L, 1995L, 1995L, 1995L, 1995L, 1995L, 1995L,
1995L, 1995L, 1995L, 1995L, 1996L, 1996L, 1996L, 1996L, 1996L,
1996L, 1996L, 1996L, 1996L, 1996L, 1996L, 1996L, 1996L, 1996L,
1996L, 1996L, 1996L, 1996L, 1996L, 1996L, 1996L), token = c("абагайтуйская",
"абагайтуйская", "абагайтуйские", "абагайтуйский", "абагайтуйским", "абагайтуйских",
"абагайтуйское", "абагайтуйской", "абагайтуйскому", "абагайтуйскую", "cгей", "славяне", "", "эхо", "татарстане",
"донесшийся", "менска", "лихой", "клич",
"гей", "славяне", "вызвал", "многонациональной",
"республике", "ответного", "энтузиазма",
"character", "своему", "сексуальному", "поведению",
"ягей", "комбайн", "садомазохист", "",
"рассказывают", "двери", "женских", "туалетов",
"журфака", "изложена", "слезная", "история",
"девушки", "влюбившейся", "гея", "cих",
"брак", "закончился", "течение", "элтон",
"джон", "понял", "бисексуал", "настоящий",
"гей", "отныне", "женщины", "интересуют",
"похоже", "начинает", "обрушиваться",
"вторая", "пирамида", "мавроди", "сексменьшинствами",
"оказалось", "значительно", "пресловутая",
"", "права", "отчаянно", "бьются", "активистыгеи",
"лесбиянкитолько", "", "мужчин", "", "женщин",
"cгеи", "счастливо", "сложилась", "песнь",
"матерого", "гея", "элтона", "джона", "дуэте",
"именитым", "трансвеститом", "рупол",
"клип", "жизнерадостную", "парочку",
"пытается", "разлучить", "какнибудь",
"ущемить", "голубоватые", "права")), row.names = c(NA,
100L), class = "data.frame")
And this dataframe (df2)
df2 <- structure(list(token = c("абалмасовыми", "абалмасовых",
"абалымов", "абалымова", "абалымове",
"абалымовой", "абалымову", "абалымовы",
"абалымовым", "абалымовыми", "абалымовых",
"абальян", "абальяна", "абальянам", "абальянами",
"абальянах", "абальяне", "абальянов",
"абальяном", "абальяну", "абальяны",
"абаляев", "абаляева", "абаляеве", "абаляевой",
"абаляеву", "абаляевы", "абаляевым",
"абаляевыми", "абаляевых", "абам", "абами",
"абанагроавтотранс", "абанагроавтотранса",
"абанагроавтотрансам", "абанагроавтотрансами",
"абанагроавтотрансах", "абанагроавтотрансе",
"абанагроавтотрансов", "абанагроавтотрансом",
"абанагроавтотрансу", "абанагроавтотрансы",
"абанагропромхимией", "абанагропромхимии",
"абанагропромхимию", "абанагропромхимия",
"абандон", "абандона", "абандонам", "абандонами",
"абандонах", "абандоне", "абандонов",
"абандоном", "абандону", "абандоны",
"абанская", "абанские", "абанский", "абанским",
"абанскими", "абанских", "абанского",
"абанское", "абанской", "абанском", "абанскому",
"абанскою", "абанскую", "абарин", "абарина",
"абарине", "абариной", "абарину", "абарины",
"абариным", "абариными", "абариных",
"абарчук", "абарчука", "абарчукам", "абарчуками",
"абарчуках", "абарчуке", "абарчуки",
"абарчуков", "абарчуком", "абарчуку",
"абаршалин", "абаршалина", "абаршалине",
"абаршалиной", "абаршалину", "абаршалины",
"абаршалиным", "абаршалиными", "абаршалиных",
"абас", "абаса", "абасали", "абасалиевен"
), lemma = c("абалмасовы", "абалмасовы",
"абалымов", "абалымов", "абалымов", "абалымова",
"абалымов", "абалымовы", "абалымов",
"абалымовы", "абалымовы", "абальян",
"абальян", "абальяны", "абальяны", "абальяны",
"абальян", "абальяны", "абальян", "абальян",
"абальяны", "абаляев", "абаляев", "абаляев",
"абаляева", "абаляев", "абаляевы", "абаляев",
"абаляевы", "абаляевы", "аба", "аба", "абанагроавтотранс",
"абанагроавтотранс", "абанагроавтотранс",
"абанагроавтотранс", "абанагроавтотранс",
"абанагроавтотранс", "абанагроавтотранс",
"абанагроавтотранс", "абанагроавтотранс",
"абанагроавтотранс", "абанагропромхимия",
"абанагропромхимия", "абанагропромхимия",
"абанагропромхимия", "абандон", "абандон",
"абандон", "абандон", "абандон", "абандон",
"абандон", "абандон", "абандон", "абандон",
"абанский", "абанский", "абанский", "абанский",
"абанский", "абанский", "абанский", "абанский",
"абанский", "абанский", "абанский", "абанский",
"абанский", "абарин", "абарин", "абарин",
"абарина", "абарин", "абарины", "абарин",
"абарины", "абарины", "абарчук", "абарчук",
"абарчуки", "абарчуки", "абарчуки", "абарчук",
"абарчуки", "абарчуки", "абарчук", "абарчук",
"абаршалин", "абаршалин", "абаршалин",
"абаршалина", "абаршалин", "абаршалины",
"абаршалин", "абаршалины", "абаршалины",
"абас", "абас", "абасали", "абасалиевна"
)), sorted = "token", row.names = 1000:1100, class = c("data.table",
"data.frame"))
How can I mutate the lemma column in df2, based on the token column in both df and df2?
This is the result that I expect:
orientatie jaar lemma
1 gay 1980 абагайтуйский
2 gay 1981 абагайтуйский
3 gay 1982 абагайтуйский
4 gay 1983 абагайтуйский
5 gay 1984 абагайтуйский
...
I have tried to use the join function:
df_gelemmatiseerd <- df %>%
inner_join(df2, by = "token", relationship = "many-to-many")
But it retrieved me funky result.
Your help is appreciated, thank you!