1
我不清楚如何將函數應用於使用點(「。」)與magrittr數據的組件,如數據列或列表中的項目。訪問「。」中的數據組件(點)運算符與magrittr
例子:
> data.frame(x = 1:10, y = 11:20) %>% .$y
[1] 11 12 13 14 15 16 17 18 19 20
似乎訪問數據應該工作一樣應用功能,但它並不:
> data.frame(x = 1:10, y = 11:20) %>% min(.$y)
[1] 1
感謝。我很好奇,那麼,爲什麼data.frame(x = 1:10,y = 11:20)%>%。$ y沒有給出類似data.frame(dd,dd $ y)的東西。另外,我的第一個例子不包含「在通話中的其他地方放置的孤獨點」嗎? – jzadra
因爲'。$ y'相當於'''(。,y)',它已經把data.frame放在了你想要的地方。你也可以使用'%>%'$'(y)'而不用點。這實際上更多的不是進入嵌套調用而不是「孤獨點」,所以我在那裏有點不準確。 – MrFlick
@jzadra Btw,當''出現顯式地作爲函數的參數時,有一些與magrittr的行爲相關的奧祕。也就是說,如果它是函數的獨立參數(如MrFlick在您的示例中顯示的那樣),則不會將該點另外作爲第一個參數給出。因此,例如'「A」%>%setNames(。)'不等同於'setNames(「A」,「A」)',實際上失敗了。 https://github.com/tidyverse/magrittr/issues/128(哦,剛纔注意到MrFlick編輯了這個評論,任何人,我會在這裏留下這個評論。) – Frank