R为数据框中的每个条目粘贴列表值
我想为数据帧中的每一行粘贴数据帧中列表中的值。“Screen.name”是一个twitter帐户列表,“Text”是这个人的每条tweet,“references”是提取用户所有的提及。 数据帧如下所示:R为数据框中的每个条目粘贴列表值,r,dataframe,R,Dataframe,我想为数据帧中的每一行粘贴数据帧中列表中的值。“Screen.name”是一个twitter帐户列表,“Text”是这个人的每条tweet,“references”是提取用户所有的提及。 数据帧如下所示: Screen.name Text mentions <chr> <chr>
Screen.name Text mentions
<chr> <chr> <list>
1 _A_K_K_ "Danke für 30 Jahre Initiative Völklinger Hütte. Wie aus d~ <chr [0]>
2 A_Gloeckner "#Aufbruch. Tolle Rede vom Kanzlerkandidaten @MartinSchulz~ <chr [7]>
3 a_grotheer "- Breaking News Steve Bannon nicht mehr Mitglied im US-Si~ <chr [25]>
4 A_Schillhaneck "RT @BA_Mitte_Berlin: Reminder: Bis Freitag läuft noch die~ <chr [2,11~
5 Achim_P "RT @spdmilk: .@Achim_P Dieses Wahljahr ist kein normales ~ <chr [138]>
6 AdolfKessel1 "RT @CDUFraktionRLP: @AdolfKessel1 zur rot-grünen Flüchtli~ <chr [2]>
作为第二行的输出,例如,我希望:
> paste(politicans_v2$mentions[[2]],collapse=" ")
[1] "@MartinSchulz @MartinSchulz @MartinSchulz @ManuelaSchwesig @sigmargabriel @nahlesMeine @Willy"
所以我的粘贴方法是有效的。但是如何遍历整个数据集呢。
我已经试过了,但这给了我“NA”:
有人能解决这个问题吗?
谢谢你的回答 你可以用
purrr
这样做
库(dplyr)
图书馆(purrr)
#映射返回一个列表
映射(示例$references,.f=粘贴,collapse=“”)
#> [[1]]
#> [1] ""
#>
#> [[2]]
#>[1]“@MartinSchulz@MartinSchulz@MartinSchulz@ManuelaSchwesig@sigmargabriel@nahlesMeine@Willy”
#>
#> [[3]]
#>[1]“@NSC_CPMR@SouthendRNLI@weserkurier@werderbremen@ribasdiego10@boerseARD@Europarl_DE@Europarl_DE@SteffiD@HBBuergerschaft@werderbremen@RathausHB_news@UniBremen@speuropa@Europarl_DE@HBBuergerschaft@amnestyusa@spda@SPD@HBBuergerschaft”
#map_chr返回字符向量而不是列表
map_chr(示例$提到,.f=粘贴,折叠=)
#> [1] ""
#>[2]“@MartinSchulz@MartinSchulz@MartinSchulz@ManuelaSchwesig@sigmargabriel@nahlesMeine@Willy”
#>[3]“@NSC_CPMR@SouthendRNLI@weserkurier@werderbremen@ribasdiego10@boerseARD@Europarl_DE@Europarl_DE@SteffiD@HBBuergerschaft@werderbremen@RathausHB_news@UniBremen@spderopa@Europarl_DE@HBBuergerschaft@amnestyusa@spda@SPD@HBBuergerschaft”
由(v2.0.0)于2018年5月2021日创建
使用OP创建的示例数据
sample <- tibble(Screen.name = c("_A_K_K_", "A_Gloeckner", "a_grotheer"),
mentions = list(character(),
c("@MartinSchulz", "@MartinSchulz", "@MartinSchulz", "@ManuelaSchwesig",
"@sigmargabriel", "@nahlesMeine", "@Willy"),
c("@NSC_CPMR","@SouthendRNLI", "@weserkurier", "@werderbremen",
"@ribasdiego10", "@boerseARD", "@Europarl_DE", "@Europarl_DE",
"@SteffiD", "@HBBuergerschaft", "@werderbremen", "@RathausHB_news",
"@UniBremen", "@SPDEuropa", "@Europarl_DE", "@HBBuergerschaft",
"@amnestyusa", "@SPDEuropa", "@SPD", "@HBBuergerschaft")))
sampleBase R使用sapply
:
politicans_v2$mentions_chr <- sapply(politicans_v2$mentions, paste0, collapse = ' ')
politicans\u v2$提及\u chr或map\u chr
可能更有用谢谢!这就解决了我的问题!:)
sample <- tibble(Screen.name = c("_A_K_K_", "A_Gloeckner", "a_grotheer"),
mentions = list(character(),
c("@MartinSchulz", "@MartinSchulz", "@MartinSchulz", "@ManuelaSchwesig",
"@sigmargabriel", "@nahlesMeine", "@Willy"),
c("@NSC_CPMR","@SouthendRNLI", "@weserkurier", "@werderbremen",
"@ribasdiego10", "@boerseARD", "@Europarl_DE", "@Europarl_DE",
"@SteffiD", "@HBBuergerschaft", "@werderbremen", "@RathausHB_news",
"@UniBremen", "@SPDEuropa", "@Europarl_DE", "@HBBuergerschaft",
"@amnestyusa", "@SPDEuropa", "@SPD", "@HBBuergerschaft")))
politicans_v2$mentions_chr <- sapply(politicans_v2$mentions, paste0, collapse = ' ')