小编Bri*_*iro的帖子

使用 Summarize 和 dplyr 来按组对多个列的非“NA”进行计数

我想使用summarizeand acrossfrom来计算分组变量的dplyr非值数量。NA例如,使用这些数据:

library(tidyverse)  
d <- tibble(ID = c(1, 1, 1, 2, 2, 2, 3, 3, 3),
            Col1 = c(5, 8, 2, NA, 2, 2, NA, NA, 1),
            Col2 = c(NA, 2, 1, NA, NA, NA, 1, NA, NA),
            Col3 = c(1, 5, 2, 4, 1, NA, NA, NA, NA))  
Run Code Online (Sandbox Code Playgroud)
# A tibble: 9 x 4
     ID  Col1  Col2  Col3
  <dbl> <dbl> <dbl> <dbl>
1     1     5    NA     1
2     1     8     2     5 …
Run Code Online (Sandbox Code Playgroud)

r dataframe dplyr

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

如何在 R 中的任意嵌套列表上替换 NULL 值?

我有一个任意嵌套的列表(没有规则)。我需要用 替换NULL值,NA并且列表的结构需要保持不变。

最小工作示例:

myList <- list("elem1" = "first",
               "elem2" = list("elem2.1" = "second1",
                              "elem2.2" = NULL),
               "elem3" = list("elem3.1" = "third1",
                              "elem3.2" = list("elem3.2.1" = NULL,
                                               "elem3.2.2" = NULL,
                                               "elem3.2.3" = "third2.3"),
               "elem4" = "fourth"))
Run Code Online (Sandbox Code Playgroud)

输出:

$elem1
[1] "first"

$elem2
$elem2$elem2.1
[1] "second1"

$elem2$elem2.2
NULL


$elem3
$elem3$elem3.1
[1] "third1"

$elem3$elem3.2
$elem3$elem3.2$elem3.2.1
NULL

$elem3$elem3.2$elem3.2.2
NULL

$elem3$elem3.2$elem3.2.3
[1] "third2.3"


$elem3$elem4
[1] "fourth"
Run Code Online (Sandbox Code Playgroud)

所需的解决方案:

$elem1
[1] "first"

$elem2
$elem2$elem2.1
[1] "second1"

$elem2$elem2.2
NA


$elem3
$elem3$elem3.1
[1] "third1"

$elem3$elem3.2
$elem3$elem3.2$elem3.2.1 …
Run Code Online (Sandbox Code Playgroud)

r purrr

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

如何匹配内容脚本(firefox)中的所有域名扩展?

我需要匹配我正在编写的简单 Firefox 扩展的所有域扩展。例如,我需要运行扩展:

我不希望扩展程序在“示例网站”以外的任何内容上运行,例如,

这在某种程度上很重要,这样我就不需要为我的扩展程序获得访问所有网站上的数据的权限。

笔记:

javascript firefox firefox-addon google-chrome-extension content-script

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

在 R Markdown YAML 中包含 css 文件的文件路径

我需要将我的 R Markdown 链接到一个 css 文件。如果 css 文件与 .Rmd 文件位于同一目录中,则它可以正常工作。如果 css 位于不同的目录中,则它不起作用。

如何在 YAML 的 css 字段中包含文件路径?

这确实工作

---
title: "MY TITLE"
author: "MY NAME"
output:
  xaringan::moon_reader:
    lib_dir: libs
    css: path/to/xaringan_themer.css
    nature:
      highlightStyle: tomorrow-night-bright
      highlightLines: true
      countIncrementalSlides: false
      titleSlideClass: ["center","top"]
---
Run Code Online (Sandbox Code Playgroud)

r r-markdown xaringan

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

删除ggplot2中geom_ribbon图例键周围的填充

我想删除使用 geom_ribbon 创建的图例内的填充。请注意,这些答案并不能解决这个特定问题。

最小工作示例

library(ggplot2)
library(ggeffects)

fit <- lm(mpg ~ hp*disp, data= mtcars)

me <- ggeffect(fit,
               ci.lvl = .95,
               type = "fe",
               terms = c("hp", "disp"))

ggplot(data = me,
       mapping = aes(x = x, y = predicted, linetype = group)) +
  geom_line() +
  geom_ribbon(aes(ymin = conf.low,
                  ymax = conf.high),
              alpha = .5)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

我想要这个情节,但我希望图例看起来像这样: 在此输入图像描述

r ggplot2

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

更改 R 箱线图中各个框的宽度

如何减少 Base R 中每个箱线图的宽度?

我不想改变箱线图的相对width大小,我知道这可以通过参数来完成

(这与这篇文章不同,后者询问删除空格)

boxplot(mpg ~ cyl,
        data=mtcars)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

r data-visualization boxplot

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

在data.frame上分配(不同)列类

我需要更改整个data.frame的列类。理想情况是寻找apply解决方案,但tidyverse也欢迎其他解决方案。

示例数据

set.seed(1)
d <- data.frame("numbers" = as.character(1:10),
                "letters" = letters[1:10],
                "boolean" = sample(c("T", "F"), 10, T),
                stringsAsFactors = F)
Run Code Online (Sandbox Code Playgroud)

我想制作第一列(numbersnumeric,第二列(letterscharacter和第三列(booleanlogical

r dplyr

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

R ggplot - 如何在条形图上方旋转计数

我的数据框df看起来像这样

  Year Frequency
1 1975        86
2 1976        52
3 1977        53
4 1978        54
5 1979       301
6 1980       161
Run Code Online (Sandbox Code Playgroud)

您可以使用它自己重现 data.frame:

  Year Frequency
1 1975        86
2 1976        52
3 1977        53
4 1978        54
5 1979       301
6 1980       161
Run Code Online (Sandbox Code Playgroud)

我用以下方法绘制了这个图表

ggplot(ydf, aes(x = Year, y = Frequency, fill=Frequency)) + geom_bar(stat = "identity") + geom_text(aes(label = Frequency), nudge_y=1, check_overlap=TRUE)+ scale_x_discrete(guide = guide_axis(angle = 90))

在此输入图像描述

然而,正如您所看到的,条形上方的频率重叠。我尝试将 x 轴移开或像 xlabel 一样将频率旋转 90 度。我已经做了很多谷歌搜索,但没有运气。我对 R 还很陌生,所以我的绘图代码可能不正确或者可以做得更好。请注意,我喜欢图例显示为一个栏的方式,并且不想更改它。

r ggplot2

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

使用 lubridate 和 dplyr 过滤特定日期的数据集

我正在尝试筛选tibble特定日期。如果我尝试>=该日期和<=同一日期,代码将导致返回 0 行。我已经确定它是<=返回FALSE我认为应该返回的行TRUE。下面是一个工作示例。我只对相关回复感兴趣tidyverse-lubridate请不要使用 Base R 或其他软件包发布答案(我知道如何以这些其他方式解决问题。

数据

library(dplyr)
library(lubridate)

d <- structure(list(Date = structure(c(1572679159, 1572703322, 1572710363, 1572722578,
                                       1572727765, 1572728767, 1572730032),
                                     class = c("POSIXct", "POSIXt"),
                                     tzone = "UTC", label = c(EndDate = "EndDate")),
                    ID = 1:7), class = c("spec_tbl_df", "tbl_df", "tbl", "data.frame"),
               row.names = c(NA, -7L))
Run Code Online (Sandbox Code Playgroud)

当我尝试以下操作时,它返回tibble0 行:

d %>%
  filter(Date >= as_date("2019-11-02"),
         Date <= as_date("2019-11-02"))
Run Code Online (Sandbox Code Playgroud)

然而,当我尝试这样做时,它有效。我缺少什么?问题是,我想Date <= as_date("2019-11-03")返回 …

r lubridate dplyr

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

闪亮和闪亮的仪表板:如何仅在某些选项卡上显示侧栏中的输入?

我想在闪亮的仪表板的侧栏中显示输入(复选框、选择输入),但仅当单击某个选项卡时。

下面的最小可重复示例。如何获取复选框并选择仅在第 2 页上显示的输入?

#ui.R

library(shiny)
library(shinydashboard)

# Define UI for application that draws a histogram
shinyUI(dashboardPage(
    dashboardHeader(title = "Test Application",
                    titleWidth = "400px"
    ),

    dashboardSidebar(
        id = "navbar",
        menuItem("Page 1", tabName = "page1"),
        menuItem("Page 2", tabName = "page2"),

        # THESE SHOW UP ALL THE TIME - HOW TO GET JUST ON PAGE 2?
        checkboxGroupInput("outcome", "Select Outcome Variable(s):", choices = c("Box 1", "Box 2", "Box 3")),
        selectInput("selectinput", label = "Select:", choices = c("Choice 1", "Choice 2", "Choice 2"))


    ),

    dashboardBody( …
Run Code Online (Sandbox Code Playgroud)

r shiny shinydashboard

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