【发布时间】:2019-07-29 21:56:59
【问题描述】:
我正在尝试创建一个函数来优化我的代码。 我有以下格式的小标题。我想添加标题为“AGG_range”的第 5 列也是最后一列。
>data.temp0
AGG_median AGG_mean AGG_min AGG_max
<dbl> <dbl> <dbl> <dbl>
1 38 40.7 29 52
2 49 49 21 83
3 30 39 10 75
4 38 38.9 13 59
5 63.5 57.4 15 82
6 32 33 21 50
7 39 40.5 14 75
我尝试过使用 mutate(!!varname = paste(!!varname2,!!varname3,sep="-") 和 mutate_(somename = paste(varname2,varna,sep="-"))
但是我得到的结果不是我想要的。
我正在做的一个简单示例如下:
myfuntemp = function(chr_temp){
chr_temp.range = chr_temp %>%
paste("range",sep="_")
chr_temp.min = chr_temp %>%
paste("min",sep="_")
chr_temp.max = chr_temp %>%
paste("max",sep="_")
dat_temp = data.temp0 %>%
mutate_(chr_temp.range = paste("(",as.character(chr_temp.min),"-",
as.character(chr_temp.max),")",sep="")) %>%
rename (!!chr_temp.range:= chr_temp.range)
return(dat_temp)
}
以下是我得到的(实际输出)
>myfuntemp('AGG')
AGG_median AGG_mean AGG_min AGG_max AGG_range
<dbl> <dbl> <dbl> <dbl> <dbl>
1 38 40.7 29 52 -23
2 49 49 21 83 -62
3 30 39 10 75 -65
4 38 38.9 13 59 -46
5 63.5 57.4 15 82 -67
6 32 33 21 50 -29
7 39 40.5 14 75 -61
但是,以下是我想要的(预期输出)
AGG_median AGG_mean AGG_min AGG_max AGG_range
<dbl> <dbl> <dbl> <dbl> <chr>
1 38 40.7 29 52 (29-52)
2 49 49 21 83 (21-83)
3 30 39 10 75 (10-75)
4 38 38.9 13 59 (13-59)
5 63.5 57.4 15 82 (15-82)
6 32 33 21 50 (21-50)
7 39 40.5 14 75 (14-75)
【问题讨论】: