如何解决R-将公式转换为字符串,反之亦然
我对R
中的某些奇怪行为感到困惑。当您将公式转换为字符串时,它将自动将公式的两部分分成单独的元素,如下所示:
#Convert formula to character string
FORMULA <- formula(y ~ a + b + c + d)
CHAR <- as.character(FORMULA)
CHAR
[1] "~" "y" "a + b + c + d"
但是,当您尝试转换回来时,您没有原始公式:
as.formula(CHAR)
~y
为什么会发生---即为什么R
不能转换回您开始使用的公式?是否存在将字符串转换回公式的函数(或其他简单方法)?
解决方法
在这种情况下,您可以使用paste
将原始公式拼凑在一起:
as.formula(paste(CHAR[2],CHAR[1],CHAR[3]))
y ~ a + b + c + d
,
使用flights %>% filter(month == 1 & day == 1)
从公式到字符串,然后使用format
朝另一个方向:
as.formula
此外,FORMULA <- formula(y ~ a + b + c + d) # from question
format(FORMULA)
## [1] "y ~ a + b + c + d"
as.formula("y ~ a + b + c + d")
## y ~ a + b + c + d
已经是一个公式。在已经是公式的对象上使用y ~ a + b + c + d
毫无意义:
formula(...)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。