r - R dplyr 在函数中发生变异
问题描述
这应该是一个非常直接的代码,我只是想将新变量绑定到现有数据帧。但是, dplyr mutate 似乎在函数中不起作用。当我调用函数 addLocation 时,不会添加项目。
位置数据 (df.russia_locations)
location lon lat
Kalingrad 20.45221 54.71043
Moscow 37.61730 55.75583
绑定到 itemTest(可以是任何数据集)
addLocation <- function(itemInfo){ itemInfo <- mutate(itemInfo,
Kalingrad_lon = df.russia_locations[1,2],
Kalingrad_lat = df.russia_locations[1,3],
Moscow_lon = df.russia_locations[2,2],
Moscow_lat = df.russia_locations[2,3]
)}
addLocation(itemTest)
我肯定错过了什么?
解决方案
您需要return(itemInfo)
在函数中的最后一个括号之前添加或删除函数中的itemInfo <-
分配。如果将函数的输出分配给名称,则会得到预期的打印输出。
> itemTest2 <- addLocation(itemTest)
> length(addLocation(itemTest))
[1] 5
> length(addLocation(itemTest))==length(itemTest)
[1] FALSE
推荐阅读
- eclipse - 为什么当我在 Eclipse 中运行 tomcat 时,在部署的项目中出现异常,但是当从 startup.bat 或 IntelliJ 启动时,一切正常?
- sql - 精确数据库:当不使用EXISTS引入子查询时,选择列表中只能指定一个表达式
- javascript - 在另一个页面中设置 JavaScript 变量
- flutter - 当所有变量都有值时,空检查运算符错误?
- javascript - 车把表单模板,使用 keyup 更新时输入失去焦点
- flutter - Flutter 中 mp3 文件的元数据
- google-apps-script - 尝试执行 onEdit,但无法保存 - 意外标识符第 1 行
- python - Peewee 可以使用 SQLite 的 FTS5(全文搜索)辅助函数 highlight() 吗?
- angular - 如何在ionic-Angular中将数据传递到另一个页面
- sql - 我需要创建一个矩阵来显示一年中每个月的订单数量