我有一个数据框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函数中形式参数的默认值?
我们假设,我们有这个功能
f <- function(x=1) {
...
}
Run Code Online (Sandbox Code Playgroud)
我可以以某种方式将x的默认值从1更改为2,例如2吗?
谢谢你,
斯文
我正在与数百万积分的时间序列合作.我通常用这个数据绘制
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().
假设您要将函数的参数的默认值(以修改让我们使用的想法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_par而my_dnorm不是调用
而设置do.call(dnorm,c(list(x),T_par)).这该怎么做?