r - 将函数应用于列表中数据框的特定列
问题描述
我有一个包含需要合并的公共列的数据框列表,但我需要在合并之前先将某些列强制转换为字符类型。为了解决这个问题,我写了以下内容:
master_list <- lapply(master_list, function(x) x %>%
mutate_at(.vars = vars(master_list$x$'send date',
master_list$x$'send time',
master_list$x$'Monthly',
master_list$x$'InteractionEventDate'),
.funs = as.character))
但是,当我查看列表中任何一个数据框中的这些列时,没有进行更改(例如 InteractionEventDate 仍然是双精度),尽管上面的代码行没有引发错误。我部分基于这篇文章的答案,它使用了现在已弃用的 mutate_each。
解决方案
你的方法在这里有点迂回。所以也许首先使用dplyr
逻辑定义一个函数,然后将它应用到列表中?
premerge <- function(df){
df %>%
mutate_at(.vars = c("send date","send time", "Monthly","InteractionEventDate"), .funs = as.character)
}
lappyl(master_list,premerge)
推荐阅读
- flutter - 条纹插件不起作用。在应用程序中发现错误:transformClassesWithDexBuilderForDebug'
- ftp - 尝试使用密码的 FTP 流量
- node.js - 从 node-opcua 服务器动态删除变量
- java - 如何正确使用 CURL 在 Dropbox 中调用文件上传?
- javascript - 如何更新本地 node_module 依赖项并在另一个项目中重新加载?
- amazon-web-services - AWS EKS - IAM 角色和策略错误 - 卷“aws-iam-token”的 MountVolume.SetUp 失败:无法获取令牌
- excel - 比较两张表并检查不同的值/数据并更新主表
- ios - 当图像在模态div中时,IOS长按没有“保存图像”选项
- javascript - 如何在角度 6 中实现选择下拉菜单(按搜索过滤),如何按名称属性过滤对象
- javascript - React Native 中除图像外的顶部底部文本