R dcast聚合函数第一个非NA
R dcast aggregate function first non NA
有人可以告诉我如何为 dcast 创建一个聚合函数,它将 return 第一个非 NA 值吗?
类似的东西(虽然这个例子显然不起作用)
wide<-dcast(long, usr_id ~ variable, value.var = "value", fun.aggregate = head, 1, na.rm=true)
数据可能如下所示:
set.seed(28)
long <- data.frame(
usr_id= rep(1:2, each=4),
variable= rep(c('M1','M2'), 4),
value= sample(c(NA,1:2),2*4, replace=TRUE)
)
我们可以试试
dcast(long, usr_id~variable, value.var="value",
fun.aggregate= function(x) head(x[!is.na(x)], 1), fill=0)
数据
set.seed(28)
long <- data.frame(usr_id= rep(1:3, each=3),
variable= rep(paste0("M", 1:3), 3), value= sample(c(NA,
1:3),9, replace=TRUE))
有人可以告诉我如何为 dcast 创建一个聚合函数,它将 return 第一个非 NA 值吗?
类似的东西(虽然这个例子显然不起作用)
wide<-dcast(long, usr_id ~ variable, value.var = "value", fun.aggregate = head, 1, na.rm=true)
数据可能如下所示:
set.seed(28)
long <- data.frame(
usr_id= rep(1:2, each=4),
variable= rep(c('M1','M2'), 4),
value= sample(c(NA,1:2),2*4, replace=TRUE)
)
我们可以试试
dcast(long, usr_id~variable, value.var="value",
fun.aggregate= function(x) head(x[!is.na(x)], 1), fill=0)
数据
set.seed(28)
long <- data.frame(usr_id= rep(1:3, each=3),
variable= rep(paste0("M", 1:3), 3), value= sample(c(NA,
1:3),9, replace=TRUE))