这应该是一个非常简单的代码,我只是想将新变量绑定到现有的数据帧。但是,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)
我一定错过了什么?
答案 0 :(得分:1)
您需要在功能的最后一个括号前添加return(itemInfo)
,或删除功能中的itemInfo <-
作业。如果将函数的输出分配给名称,则会得到预期的打印输出。
> itemTest2 <- addLocation(itemTest)
> length(addLocation(itemTest))
[1] 5
> length(addLocation(itemTest))==length(itemTest)
[1] FALSE