繁体   English   中英

使用 dfList 在多个数据框中创建新列

[英]Create new column across multiple data frames using dfList

我有几个数据框都具有相同的列名。 我想在每列中合并两列以创建一个新列。

数据框如下所示:

在此处输入图片说明

我希望输出看起来像这样:

在此处输入图片说明

通常我会很容易地为一个数据框做到这一点:

a$XY_ID <- paste(a$X,ak$Y,sep=":")

如何对列表中的所有数据框执行此操作?

谢谢您的帮助!

您可以在lapply使用paste命令:

dfList <- lapply(dfList, function(x) transform(x, XY_ID = paste(X,Y,sep=":")))

tidyverse您可以使用map迭代列表并unite组合列。

dfList <- purrr::map(dfList, ~tidyr::unite(.x, XY_ID, X, Y, sep = ":", remove = FALSE))

我们可以将do.callpaste一起使用,如果有很多列要连接,它也可以使用

dfList <- lapply(dfList, function(x) {
         x$XYID <- do.call(paste, c(x[c('X', 'Y')], sep=":"))
         x })

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM