相关疑难解决方法(0)

如何在R数据帧中用零替换NA值?

我有一个数据框,有些列有NA值.

如何NA用零替换这些值?

r missing-data dataframe na imputation

673
推荐指数
18
解决办法
112万
查看次数

在R公式中,为什么我必须在幂项上使用I()函数,比如y~I(x ^ 3)

我试图了解使用波浪号运算符和相关函数.我的第一个问题是为什么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)

我的第二个问题是,也许我一直在使用的例子太简单了,但我不明白~实际应该在哪里使用.

r formula tilde polynomials

44
推荐指数
1
解决办法
3万
查看次数

在 R 代码的上下文中波浪号意味着什么

  1. Fx=purrr::map(CDF, ~ tibble(
                        severity=severities$severity,
                        inclusive=severities$inclusive,
                        Fx=.x(severities$severity, severities$inclusive))))
    
    Run Code Online (Sandbox Code Playgroud)
  2. 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)

r tidyverse

4
推荐指数
1
解决办法
1220
查看次数

在 R 中使用波浪号 (~) 和句号 (.)

我正在使用 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)

突然它可以作为循环使用。那么 ~ 和 . 这里又如何。与简单的管道相比?

for-loop r r-formula

3
推荐指数
1
解决办法
710
查看次数

做什么'〜'和'.' 在facet_wrap()参数中指明

我已经使用了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 ggplot2 facet-wrap

1
推荐指数
1
解决办法
810
查看次数