我有一个数据框,有些列有NA值.
如何NA用零替换这些值?
我试图了解使用波浪号运算符和相关函数.我的第一个问题是为什么I()需要用来指定算术运算符?例如,这2个图产生不同的结果(前者有一条直线,后者有预期的曲线)
x <- c(1:100)
y <- seq(0.1,10,0.1)
plot(y~x^3)
plot(y~I(x^3))
Run Code Online (Sandbox Code Playgroud)
此外,以下两个图也产生预期结果
plot(x^3, y)
plot(I(x^3), y)
Run Code Online (Sandbox Code Playgroud)
我的第二个问题是,也许我一直在使用的例子太简单了,但我不明白~实际应该在哪里使用.
Fx=purrr::map(CDF, ~ tibble(
severity=severities$severity,
inclusive=severities$inclusive,
Fx=.x(severities$severity, severities$inclusive))))
Run Code Online (Sandbox Code Playgroud)raw_df <- tibble::tribble(
~"segment", ~"limit", ~"attach", ~"pct_written", ~"premium", ~"product", ~"lalae_ratio",
"", 50000, 1000, 0.5, 273456, "prod1", 0.65,
"", 20000, 2000, 0.5, 285760, "prod2", 0.65,
"", 2e+05, 3000, 0.5, 956456, "prod3", 0.65,
"", 10000, 300, 0.5, 90890, "prod4", 0.65)
Run Code Online (Sandbox Code Playgroud)我可以猜测它,但我对它的作用没有准确的定义。
这不同于:
dependent_variable ~ independent_variables
Run Code Online (Sandbox Code Playgroud) 我正在使用 Hadley 的 R4DS 书使用 tidyverse 和 purrr 进行循环,并且对波浪号 ~ 符号和句点符号的确切用法感到有些困惑。
因此,在编写 for 循环或使用 map() 时,您可以使用波浪号代替 ~,而不是写出 function()。
这仅适用于 for 循环吗?
所以如下...
models <- mtcars %>%
split(.$cyl) %>%
map(~lm(mpg ~ wt, data = .))
Run Code Online (Sandbox Code Playgroud)
此外,我被告知的句点可用于“引用当前列表元素”。但我很困惑这意味着什么。这是否意味着,只有在循环时,句点才表示它指的是正在循环的列表中的元素?它与管道有什么不同?当您使用管道时,您将一行的结果通过管道传输到下一行代码。
所以在上面的例子中, mtcars 是用 split() 管道传输到第二行的,但使用了一个句点。为什么?
下面的案例总结了我的困惑:
x <- c(1:10)
detect(x, ~.x > 5)
Run Code Online (Sandbox Code Playgroud)
使用检测功能,找到第一个匹配,我想我可以使用
detect(x, x >5)
Run Code Online (Sandbox Code Playgroud)
但我收到一条错误消息,说 x >5 不是函数。所以我加了一个波浪号
detect(x, ~ x > 5)
Run Code Online (Sandbox Code Playgroud)
并得到一个错误说它期望一个 TRUE 或 FALSE,而不是 10。所以如果你添加一个句点
detect(x, ~.x >5)
Run Code Online (Sandbox Code Playgroud)
突然它可以作为循环使用。那么 ~ 和 . 这里又如何。与简单的管道相比?
我已经使用了R一段时间了,但在使用时我仍然不知道我在做什么facet_wrap().考虑一下,为了exacmle:
ggplot(df, aes(x, y)) +
geom_bar(stat = "identity") +
facet_wrap(~ z)
Run Code Online (Sandbox Code Playgroud)
它可以工作,但每当我使用时,facet_wrap()我最终只是尝试不同的排列,如何对其参数进行格式化.这是因为我不知道这些论点中的含义~或.含义.
有没有人对这些东西有什么简洁的描述?
r ×5
dataframe ×1
facet-wrap ×1
for-loop ×1
formula ×1
ggplot2 ×1
imputation ×1
missing-data ×1
na ×1
polynomials ×1
r-formula ×1
tidyverse ×1
tilde ×1