问题已从原始编辑.
在阅读了这个有趣的讨论后,我想知道如何使用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) 可以select
在dplyr中使用逻辑向量吗?
dat <- tbl_df(mtcars)
isNum <- sapply(dat, is.numeric)
select(dat, isNum)
Run Code Online (Sandbox Code Playgroud)
Run Code Online (Sandbox Code Playgroud)select(dat, isNum)
名称错误(sel)[未命名] < - sel [未命名]:下标作业中不允许使用NA
指数工作:select(dat,(1:ncol(dat))[isNum])
为什么不合乎逻辑?
当我看到帮助函数为select时,starts_with
select(dat,starts_with("m"))
我认为它们可以使用逻辑...
我在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:'并添加一个重要指标.使用颜色作为相关系数的符号也很不错.在较低的,method
并fill
没有链接smooth
.关于如何让第二个绘图捕获第一个更多功能的任何建议都会很棒.
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) 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) 我一直在使用@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小组的一个相关问题