R语言 无法在函数中移除输入向量

bq3bfh9z  于 2023-02-10  发布在  其他
关注(0)|答案(1)|浏览(136)

我创建了一个函数,当我把它从函数中取出时,它可以正常工作。但是,当我把它放入函数中时,输出总是错误的:

ele_remover <- function(original, remove){
  output <- original[-remove]
  output
}

  ICD4 <- function(num.plots = 240, num.crops = 6, remove.crop.combo){
  combination.a <- apply(combn(1:num.crops,2),2,paste0,collapse="")
  combination.b <- apply(combn(num.crops:1,2),2,paste0,collapse="")
  
  new.combination <- c(combination.a,combination.b)
  
  combination <- ele_remover(new.combination, remove.crop.combo)
  
  comb.x <- sort(as.numeric(combination))
  comb.each <- ceiling(num.plots/length(comb.x))
  crop.combinations <- rep(comb.x, each=comb.each)

  output <- comb.x
}

  ICD4_output <- ICD4(240, 6, c(12,13))

在从向量“new.combination”中移除元素之前,它应该像(11,12,13.... 64,65);在函数工作时删除了元素之后,一些元素应该从new. combination中删除,这样最终的输出应该包含向量中剩下的元素。
我已经试过所有这些外部功能,它工作得很好!但当我把它放回功能,删除功能从来没有正常工作。希望得到你的支持!

nr7wwzry

nr7wwzry1#

只需简单说明一下,因为您的ICD4函数以

...
  output <- comb.x
}

而不是

...  
output <- comb.x
output
}

根据工作区中的对象,可能会发生各种奇怪的行为?

相关问题