【发布时间】:2021-08-29 23:12:06
【问题描述】:
我正在尝试以下代码行:
library(dplyr)
library(zoo)
data.frame('col1' = c('C', 'A', 'B', 'A'), 'col2' = c(1,2,3,4)) %>%
apply(as.matrix(.),
1,
function(ii) {
merge(data.frame('xx' = sample(letters[1:10], 5, replace = T), 'val1' = 1:5),
data.frame('xx' = sample(letters[1:5], 5, replace = T), 'val2' = 21:25),
by = 'xx', all = T) %>%
mutate('Info' = ii['col1']) %>%
`colnames<-`(c('yy0', 'yy1', 'yy2', 'yy3'))
})
使用此代码,我得到以下错误
Error in match.fun(FUN) : '1' is not a function, character or symbol
如果我使用正常计算而不使用pipe 运算符,上述流程如何完美运行。
您能帮我在上述设置的应用功能中如何访问父 dataframe 对象的信息吗?
例如,我想在 apply 中使用以下代码:
而不是
mutate('Info' = ii['col1'])
我想用
mutate('Info' = <<min of the column 'col2' in parent dataframe>>)
任何指针都将受到高度赞赏
【问题讨论】:
-
当你说。
min列 'col2',但您正在循环遍历行?