【发布时间】:2019-07-10 05:28:35
【问题描述】:
我有两个包含三个元素的向量。总共有 20 种组合,将所有六个元素重新排列成不同的两个向量集,其中包含三个元素。我需要编写可以做到这一点的 R 代码。
我当前的代码设置两个向量,将它们组合成一个向量,创建一个数据框,其中包含一个大小为 3 的单个向量的所有 20 个组合。我现在正在尝试编写一个函数,该函数将通过将二十个向量中的每一个与包含所有元素的向量进行比较,并查看哪些元素未使用(setdiff)来创建第二个大小为 3 的向量。但是,我不断得到一个空的新向量。请帮忙。
drug<-c(36, 60, 39)
placebo<-c(73, 55, 70)
drugandplacebo<-c(drug,placebo)
drugandplacebo
number<-1:20
t(number)
allcombdrug<-combn(drugandplacebo,3)
allcombdrug
tallcombdrug<-t(allcombdrug)
tallcombdrug
tallcombdrub<-data.frame(tallcombdrub)
tallcombdrug
func1 <- function(tallcombdrug) {
allcorespplac <- data.frame()
for (i in 1:length(tallcombdrug)) {
allcorespplac[i] <- setdiff(drugandplacebo,tallcombdrug[i])
}
}
func1
allcorespplac
【问题讨论】:
标签: r function set-difference