我无法结合使用 lapply 和 Paste 来组合列表中包含的多个数据帧的两列。我查看了多个来源,但找不到答案。
这个答案将粘贴应用于向量列表以获取字符串列表是关于组合列表中的行,而不是组合列来获得向量。
这个答案解释了如何选择列但不将它们粘贴在一起在数据框列表上使用 lapply
本页说明如何访问列表中的列,但不说明如何将它们组合在一起https://www.datacamp.com/community/tutorials/r-tutorial-apply-family
这个答案是最接近的,但我不能对文本使用转换对数据列表中的多列执行操作
下面的代码是成功创建输出的示例,但未使用 lapply。我将在许多不同的数据帧上应用此函数,因此需要使用 lapply。想必我可以使用 for i 循环,但 lapply 可能更干净。我需要使用 lapply,而不是 sapply,因为数据帧将具有不同的长度。
我想用一个 lapply 函数替换开始输出 1、输出 2 和输出的三行,该函数将在本例中的两个数据帧上工作。我认为应该是这样的
output <-lapply(mylist, paste($Artist,$Song))
但这是行不通的。提前致谢。
Artist <- c("Drake", "Ed Sheeran", "Bruno Mars", "Camilla Cabello", "BlocBoy")
Song <- c("Gods Plan", "Perfect", "Finesse", "Havana", "Look Alive")
Current <- data.frame(cbind(Artist,Song))
Artist <- c("Gucci Mane", "Migos", "Daft Punk", "Chainsmokers")
Song <- c("Black Beatles", "Bad and Boujee", "Starboy", "Closer")
Past <- data.frame(cbind(Artist,Song))
mylist <- list(Current,Past)
output1 <- paste(mylist[[1]]$Artist,mylist[[1]]$Song)
output2 <- paste(mylist[[2]]$Artist,mylist[[2]]$Song)
output <-list(output1,output2)
print(output)