相关疑难解决方法(0)

dplyr:在group_by对象上计算mean(summarize_each)时处理NAs

我有一个数据框md:

md <- data.frame(x = c(3,5,4,5,3,5), y = c(5,5,5,4,4,1), z = c(1,3,4,3,5,5),
      device1 = c("c","a","a","b","c","c"), device2 = c("B","A","A","A","B","B"))
md[2,3] <- NA
md[4,1] <- NA
md
Run Code Online (Sandbox Code Playgroud)

我想使用dplyr计算device1/device2组合的均值:

library(dplyr)
md %>% group_by(device1, device2) %>% summarise_each(funs(mean))
Run Code Online (Sandbox Code Playgroud)

但是,我得到了一些NAs.我希望忽略NA(na.rm = TRUE) - 我试过,但函数不想接受这个参数.这两行都会导致错误:

md %>% group_by(device1, device2) %>% summarise_each(funs(mean), na.rm = TRUE)
md %>% group_by(device1, device2) %>% summarise_each(funs(mean, na.rm = TRUE))
Run Code Online (Sandbox Code Playgroud)

r mean na dplyr

9
推荐指数
3
解决办法
8799
查看次数

在运行时更改R函数的默认参数

是否可以在运行时更改R函数中形式参数的默认值?

我们假设,我们有这个功能

f <- function(x=1) { 
    ...
}
Run Code Online (Sandbox Code Playgroud)

我可以以某种方式将x的默认值从1更改为2,例如2吗?


谢谢你,
斯文

reflection r

8
推荐指数
1
解决办法
1924
查看次数

如何在R中从点到线更改默认绘图类型?

我正在与数百万积分的时间序列合作.我通常用这个数据绘制

plot(x,type='l')
Run Code Online (Sandbox Code Playgroud)

如果我不小心打字,事情会变得非常缓慢

plot(x)
Run Code Online (Sandbox Code Playgroud)

因为默认是 type='p'

在R会话期间是否有使用setHook()或其他方式修改默认值plot(type=...)的方法?

我在 如何为R所有plot.default,plot或lines调用默认设置一个颜色,这可以为par()'col' 这样的参数完成.但似乎没有任何点对线设置par().

graphics plot default r

5
推荐指数
1
解决办法
3427
查看次数

更改范围内所有调用的函数的默认参数

假设您要将函数的参数的默认值(以修改让我们使用的想法dnorm)mean=0,sd=1更改为 mean=pi,sd=pi在另一个函数的范围内foo.

你可以这样做:

T_par<-list(mean=pi,sd=pi)
x=3
do.call(dnorm,c(list(x),T_par)) 
Run Code Online (Sandbox Code Playgroud)

但实际上我发现在我的应用程序中使用的开销do.call太高了.

我想要做的是创建一个函数my_dnorm,该函数将是一个副本,dnorm除了参数的默认值,它将根据T_parmy_dnorm不是调用 而设置do.call(dnorm,c(list(x),T_par)).这该怎么做?

r

3
推荐指数
1
解决办法
38
查看次数

标签 统计

r ×4

default ×1

dplyr ×1

graphics ×1

mean ×1

na ×1

plot ×1

reflection ×1