Предположим, что я ленивый программист с плохими привычками (кто также не знает о plyr/dplyr), мне нравится делать такие операции:
`[<-`((z<-reshape2::melt(iris)), z[,"value"]>5, 3, 100)
Расплавьте iris
, затем присвойте значение 100 строкам, где value
больше 5, затем верните все строки, а не только выбранные строки. Эта функция описана на странице ?"["
Тот же код с replace()
(ну почти один и тот же)
z[,"value"] <- replace(i <- ((z <- reshape2::melt(iris))[,"value"]), i > 5, 100)
1) Но возникает вопрос: существует ли способ вызвать функцию [<-
с использованием стандартного обозначения скобок iris[<-, blah, blah, blah, ?]
?
edit July 2016: поэтому целью этого вопроса НЕ является повторение операции. Данные не имеют значения, пример не имеет значения, запутанный способ изменения данных не имеет значения.