与 R 中的条件一起生成的组合

Combination to be produced with condition in R

嗨,我有 4 个字符串来执行组合 - 1)PES 2)PEA 3)PAL 4)PSL

我必须编写一个脚本来执行组合(组合 - ncr 公式),这样我只需要与以下算法组合

If I have PAL in the combination output then keep PAL only and remove other string (PEA,PES,PSL) for egs if I have one of combination as PAL PSL then I only need PAL in output which I think will be in data frame format.

如果我的输出中有 PEA 而不是 PAL,那么只保留 PEA,而不包括其他(PES 和 PSL),例如,如果我有像 PEA PSL 这样的组合,那么我的输出中只需要 PEA

都是字符串

结果 - 1) PAL 2)PEA 3)PSL+PES

这将 return 尺寸 4 到 1 的组合,并从任何具有 PAL 的项目中删除非 PAL 项目。它使用 combn 函数,其中 return 特定大小的组合集:

lapply( lapply(1:4 , combn, x=strings), # modify if smaller set of sizes needed
  function(cx){
  apply(cx, 2, function(col) if( any(col=="PAL") ) {"PAL"} else { paste( col ) } ) } )

不清楚您希望如何交付这些文件,因为 return 将它们放在 "dataframe" 中并没有实际意义,因为它们的长度各不相同。

[[1]]
[1] "PES" "PEA" "PAL" "PSL"

[[2]]
[[2]][[1]]
[1] "PES" "PEA"

[[2]][[2]]
[1] "PAL"

[[2]][[3]]
[1] "PES" "PSL"

[[2]][[4]]
[1] "PAL"

[[2]][[5]]
[1] "PEA" "PSL"

[[2]][[6]]
[1] "PAL"


[[3]]
[[3]][[1]]
[1] "PAL"

[[3]][[2]]
[1] "PES" "PEA" "PSL"

[[3]][[3]]
[1] "PAL"

[[3]][[4]]
[1] "PAL"


[[4]]
[1] "PAL"