小编Vin*_*ent的帖子

在dplyr链中替换NA

问题已从原始编辑.

在阅读了这个有趣的讨论后,我想知道如何使用dplyr替换列中的NAs,例如Lahman击球数据:

Source: local data frame [96,600 x 3]
Groups: teamID

   yearID teamID G_batting
1    2004    SFN        11
2    2006    CHN        43
3    2007    CHA         2
4    2008    BOS         5
5    2009    SEA         3
6    2010    SEA         4
7    2012    NYA        NA
Run Code Online (Sandbox Code Playgroud)

以下不能像我预期的那样工作

library(dplyr)
library(Lahman)

df <- Batting[ c("yearID", "teamID", "G_batting") ]
df <- group_by(df, teamID )
df$G_batting[is.na(df$G_batting)] <- mean(df$G_batting, na.rm = TRUE)
Run Code Online (Sandbox Code Playgroud)

来源:本地数据框[20 x 3]组:yearID,teamID

   yearID teamID G_batting
1    2004    SFN  11.00000 …
Run Code Online (Sandbox Code Playgroud)

r dplyr

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

dplyr选择使用逻辑

可以select在dplyr中使用逻辑向量吗?

dat <- tbl_df(mtcars)
isNum <- sapply(dat, is.numeric)
select(dat, isNum)
Run Code Online (Sandbox Code Playgroud)
select(dat, isNum)
Run Code Online (Sandbox Code Playgroud)

名称错误(sel)[未命名] < - sel [未命名]:下标作业中不允许使用NA

指数工作:select(dat,(1:ncol(dat))[isNum])为什么不合乎逻辑?

当我看到帮助函数为select时,starts_with select(dat,starts_with("m"))我认为它们可以使用逻辑...

r dplyr

22
推荐指数
3
解决办法
6458
查看次数

使用ggpairs创建此图

我在Shiny应用程序中有一些代码,可以生成下面的第一个图表.如您所见,字体大小随相关系数的大小而变化.我想用ggpairs(GGally)或ggplot2生成类似的东西.下面的第二张图片是使用以下代码生成的:

library(GGally)
ggpairs(df, 
  upper = list(params = c(size = 10)),
  lower = list(continuous = "smooth", params = c(method = "loess", fill = "blue"))
)
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,相关字体的大小可以使用大小进行调整,但是当我设置大小向量时,只使用第一个值.我还想删除'Corr:'并添加一个重要指标.使用颜色作为相关系数的符号也很不错.在较低的,methodfill没有链接smooth.关于如何让第二个绘图捕获第一个更多功能的任何建议都会很棒.

Anscombe的数据:

df <- structure(list(y1 = c(8.04, 6.95, 7.58, 8.81, 8.33, 9.96, 7.24, 
4.26, 10.84, 4.82, 5.68), x1 = c(10L, 8L, 13L, 9L, 11L, 14L, 
6L, 4L, 12L, 7L, 5L), y2 = c(9.14, 8.14, 8.74, 8.77, 9.26, 8.1, 
6.13, 3.1, 9.13, 7.26, 4.74), x2 = c(10L, 8L, 13L, 9L, …
Run Code Online (Sandbox Code Playgroud)

r ggplot2 correlation ggally

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

R 3.4.4和R 3.5中的deparse不同的结果

deparse在R 3.4.4和R 3.5中产生不同的结果.该新闻中心提出了一些默认设置已经改变了,但它不是我清楚如何保证deparse产生相同的输出中的R 3.4.4和R 3.5

R 3.4.4

> deparse(list(dec = 4L, b = "a"), control = "keepNA")
[1] "list(dec = 4, b = \"a\")"
Run Code Online (Sandbox Code Playgroud)

R 3.5

> deparse(list(dec = 4L, b = "a"), control = "keepNA")
[1] "list(4, \"a\")"
Run Code Online (Sandbox Code Playgroud)

编辑:

感谢@HongOoi和@akrun的有用建议,最接近解决方案的是确保R 3.4.4和R 3.5中的相同结果似乎是:

dctrl <- if (getRversion() > "3.4.4") c("keepNA", "niceNames") else "keepNA"
deparse(list(dec = 4L, b = "a"), control = dctrl)
Run Code Online (Sandbox Code Playgroud)

r

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

单击导航栏上的关闭(Chrome)浏览器窗口

我一直在使用@wch在SO上建议的方法在点击Shiny应用程序中的操作按钮时关闭浏览器窗口.效果很好.

我现在想要在单击导航栏中的元素时停止我的应用关闭bowser窗口(在Chrome中).在我正在使用的tabPanel调用下面

tabPanel(title = "", value = "Stop", icon = icon("power-off"))
Run Code Online (Sandbox Code Playgroud)

我使用观察者来停止应用程序的值input$navbar == "Stop"(即,当选择导航栏中的图标时),但我不知道如何激活window.close()呼叫.

用于关闭浏览器窗口的操作代码按钮@wch

tags$button(
  id = 'close',
  type = "button",
  class = "btn action-button",
  onclick = "window.close();",
  "Close window"
)
Run Code Online (Sandbox Code Playgroud)

编辑:

找到了一个可以满足我想要的解决方案.

tabPanel(tags$a(id = "quitApp", href = "#", class = "action-button",
         list(icon("power-off"), ""), onclick = "window.close();"))
Run Code Online (Sandbox Code Playgroud)

不幸的是,它导致了一个相当糟糕的导航栏.我问了Shiny google小组的一个相关问题

严重对齐的导航栏

r shiny

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

标签 统计

r ×5

dplyr ×2

correlation ×1

ggally ×1

ggplot2 ×1

shiny ×1