我看到了这个巧妙的例子,我想知道倾斜的东西是如何工作的:
plot_ly(
x = ~gdpPercap,
y = ~lifeExp,
size = ~pop,
color = ~continent,
frame = ~year,
text = ~country,
hoverinfo = "text",
type = 'scatter',
mode = 'markers'
)我的意思是我得到了它所做的事情(在dataframe中选择同名的列),但是这个操作符实际上是做什么的呢?倾斜后标识符的性质是什么(它不是变量,不是litteral,…)?这是专为诡计的吗?
我在R中看到了关于tilde操作符的文档,但是它似乎与这个特定的用途无关。
最后,如果dataframe中的列名包含“-”或“/”等字符,那么语法是什么?
发布于 2021-08-24 15:51:11
正如@r2evans在评论中所说,它被用来创建一个公式。这是一种快速的方法来做两件事:记录一点R语言而不对其进行评估,并将创建它的环境与结果关联起来。
不同之处在于使用它的函数是如何使用公式对象的。例如,基R中的lm()函数表示,倾斜体左侧的表达式被视为响应,而右边的表达式则编码解释性变量。
plot_ly使用它的原因是它所使用的名称(gdpPercap等)。不需要成为当前全局环境中可见的变量,它们可以是来自data参数的列。这个论点是第一位的,所以对于管道,你可以这样说
df <- data.frame(a=1:10)
b <- rnorm(10)
df %>% plot_ly(x = ~a, y = ~b) # incomplete example...它可以在a中查找df,在全球环境中查找b。
至于你的最后一个问题,你可以把非句法名称放在后面。
`a/b` <- 3
`a/b`
# [1] 3https://stackoverflow.com/questions/68909904
复制相似问题