[英]How do I use a column created in dplyr::do() within same call?
mutate
具有出色的能力,能夠引用在同一調用中創建的一列(例如mutate(flights, gain = arr_delay - dep_delay, gain_per_hour = gain / (air_time / 60))
)。
我正在嘗試使用與do()
相同的東西。 以下只是一個扔掉的示例-我保證我有充分的理由要這樣做:
data.frame(n=round(runif(1000,20,100),0)) %>%
group_by(n) %>%
do(
x=mean(rnorm(.$n,10,1)),
y=mean(rnorm(.$n,20,x))
)
當然,我Error in rnorm(.$n, 20, x) : object 'x' not found
得到錯誤Error in rnorm(.$n, 20, x) : object 'x' not found
。 如果我嘗試使用.$x
Error in rnorm(.$n, 20, .$x) : invalid arguments
得到Error in rnorm(.$n, 20, .$x) : invalid arguments
。 我還沒有找到與此相關的任何文檔,也許這是不可能的-但似乎應該如此。
如果不了解要實現的目標,如果將do()鏈接到另一個do(),則結果僅為y。
data.frame(n=round(runif(1000,20,100),0)) %>%
group_by(n) %>% do(
x=mean(rnorm(.$n,10,1))
) %>% do(
y=mean(rnorm(.$n,20,.$x))
)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.