簡體   English   中英

R dplyr函數中的突變

[英]R dplyr mutate in a function

這應該是一個非常簡單的代碼,我只是想將新變量綁定到現有數據框。 但是,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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM