【发布时间】:2020-11-24 16:21:36
【问题描述】:
我的目标是定义一个函数,该函数基本上根据另一个表中的可选值的数量复制一行。每个新行将包含唯一可选值的组合。我在一个度量上运行了以下代码,但计划在成功定义一个函数后对多个度量使用循环。但是,该函数没有运行,但我可以将代码分块并且工作正常。提前致谢!
output_template_v2<-output_template_v1
measure <- "A"
col <- "1"
add_selOptions_to_output<-function(output_template_v2, measure, col, attributes){
if (tolower(str_sub(attributes$Attribute,-4, -1)) == "_sel"){
selOptions<-attributes[attributes$Measure.Name ==measure & attributes$Attribute == col & attributes$Program == "Blue",]
}
if (length(selOptions$Attribute > 0)){
subcopy<- output_template_v2[output_template_v2$Measure == measure,]
output_template_v2<-output_template_v2[output_template_v2$Measure != measure,]
subcopy<-subcopy[rep(1, length(selOptions$Attribute)),]
}
for (i in seq_along(selOptions)){
subcopy[,col][i]<-selOptions$Attribute[i]
}
output_template_v2 <-rbind(output_template_v2, subcopy)
}
【问题讨论】:
-
你能提供一个样本数据集吗?你可以简单地使用
dput(data)。
标签: r function user-defined-functions