R公式粘贴条件
R formula paste condition
我想从两个具有条件的不同向量中将公式粘贴到 R 中。从包含系数的向量中粘贴公式是可以的,但我不知道如何添加条件项
我已尝试使用 paste 和 paste0 解决问题
f1 <- c("x1", "x2", "x3")
f2 <- c("x3", "x4", "x5")
结果应该是
y ~ x1 + x2 + x3 | x3 + x4 + x5
我必须管理一个包含 > 100 个系数的大数据集,因此手动输入它不是真正的选择。
提前致谢!
我认为这可能是您要找的:
f1 <- c("x1", "x2", "x3")
f2 <- c("x3", "x4", "x5")
paste("y ~ ",paste(f1, collapse = " + "),"|",paste(f2, collapse = " + "))
#output
#[1] "y ~ x1 + x2 + x3 | x3 + x4 + x5"
我们可以将这些术语放入列表中,
terms <- list(f1, f2)
并使用 reformulate()
.
fo <- reformulate(paste(sapply(terms, paste, collapse=" + "), collapse=" | "), response="y")
fo
# y ~ x1 + x2 + x3 | x3 + x4 + x5
好处是:
class(fo)
# [1] "formula"
数据
f1 <- c("x1", "x2", "x3")
f2 <- c("x3", "x4", "x5")
我想从两个具有条件的不同向量中将公式粘贴到 R 中。从包含系数的向量中粘贴公式是可以的,但我不知道如何添加条件项
我已尝试使用 paste 和 paste0 解决问题
f1 <- c("x1", "x2", "x3")
f2 <- c("x3", "x4", "x5")
结果应该是
y ~ x1 + x2 + x3 | x3 + x4 + x5
我必须管理一个包含 > 100 个系数的大数据集,因此手动输入它不是真正的选择。
提前致谢!
我认为这可能是您要找的:
f1 <- c("x1", "x2", "x3")
f2 <- c("x3", "x4", "x5")
paste("y ~ ",paste(f1, collapse = " + "),"|",paste(f2, collapse = " + "))
#output
#[1] "y ~ x1 + x2 + x3 | x3 + x4 + x5"
我们可以将这些术语放入列表中,
terms <- list(f1, f2)
并使用 reformulate()
.
fo <- reformulate(paste(sapply(terms, paste, collapse=" + "), collapse=" | "), response="y")
fo
# y ~ x1 + x2 + x3 | x3 + x4 + x5
好处是:
class(fo)
# [1] "formula"
数据
f1 <- c("x1", "x2", "x3")
f2 <- c("x3", "x4", "x5")