Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R为数据框中的每个条目粘贴列表值_R_Dataframe - Fatal编程技术网

R为数据框中的每个条目粘贴列表值

R为数据框中的每个条目粘贴列表值,r,dataframe,R,Dataframe,我想为数据帧中的每一行粘贴数据帧中列表中的值。“Screen.name”是一个twitter帐户列表,“Text”是这个人的每条tweet,“references”是提取用户所有的提及。 数据帧如下所示: Screen.name Text mentions <chr> <chr>

我想为数据帧中的每一行粘贴数据帧中列表中的值。“Screen.name”是一个twitter帐户列表,“Text”是这个人的每条tweet,“references”是提取用户所有的提及。 数据帧如下所示:

  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 = ' ')