在 tapply 函数数据框中添加新行
Adding new row in tapply function dataframe
我有根据我的情况计算计数的函数。我需要在 table 末尾获取每一列的总计数。这些是我试过的代码,
t1<- doCounts1(AE_subset$Disp_code,AE_subset$FY, "Count of Attendances")
doCounts1<- function(var1,var2,varname,fun=NULL) {
if (is.null(fun)) {
a1<- as.data.frame.matrix(table(var1,var2))
} else {
a1<- as.data.frame.matrix(tapply(testvar,list(var1,var2),FUN=fun,na.rm=TRUE))
}
a1<- rownames_to_column(a1,var=varname)
a1$FY3PR<- a1$FY3*proRata
if (!is.null(fun))
if (fun=="mean")
a1$FY3PR<- a1$FY3
**a1<- a1 %>% replace(., is.na(.), 0)
a1<- rbind(a1,c("Total",as.numeric(colSums(a1[,2:4]))))**
return(a1)
}
我的输出 table 就像 Var1 FY1,FY2,FY3,FY3PR。
我的预期输出像,
Var1 FY1 FY2 FY3 FY3PR
1 20 30 40 80
2 40 50 10 20
总计 60 80 50 100
所以,除了我的 rbind 代码(以粗体标记)之外,这里一切正常。我替换了所有 NA <- 0 然后计算了我的总计数。总列数。
它在我的职能中不起作用。
任何人有实现此目标的想法吗?
sample
函数用于生成随机数。
您可以通过将 replace
参数保留为 FALSE
.
来准确指定要在随机排序中显示的值
首先创建您想要突出显示的所有值,根据需要重复多次。
vals <- rep(c("A", "B", "C"), each = 4L)
然后在不替换的情况下对您的选择进行采样:
rsample <- sample(vals, 12L, replace = FALSE)
我有根据我的情况计算计数的函数。我需要在 table 末尾获取每一列的总计数。这些是我试过的代码,
t1<- doCounts1(AE_subset$Disp_code,AE_subset$FY, "Count of Attendances")
doCounts1<- function(var1,var2,varname,fun=NULL) {
if (is.null(fun)) {
a1<- as.data.frame.matrix(table(var1,var2))
} else {
a1<- as.data.frame.matrix(tapply(testvar,list(var1,var2),FUN=fun,na.rm=TRUE))
}
a1<- rownames_to_column(a1,var=varname)
a1$FY3PR<- a1$FY3*proRata
if (!is.null(fun))
if (fun=="mean")
a1$FY3PR<- a1$FY3
**a1<- a1 %>% replace(., is.na(.), 0)
a1<- rbind(a1,c("Total",as.numeric(colSums(a1[,2:4]))))**
return(a1)
}
我的输出 table 就像 Var1 FY1,FY2,FY3,FY3PR。
我的预期输出像,
Var1 FY1 FY2 FY3 FY3PR
1 20 30 40 80
2 40 50 10 20
总计 60 80 50 100
所以,除了我的 rbind 代码(以粗体标记)之外,这里一切正常。我替换了所有 NA <- 0 然后计算了我的总计数。总列数。
它在我的职能中不起作用。
任何人有实现此目标的想法吗?
sample
函数用于生成随机数。
您可以通过将 replace
参数保留为 FALSE
.
首先创建您想要突出显示的所有值,根据需要重复多次。
vals <- rep(c("A", "B", "C"), each = 4L)
然后在不替换的情况下对您的选择进行采样:
rsample <- sample(vals, 12L, replace = FALSE)