在一个闪亮的情节中,我试图突出显示与点击点匹配的点(基于nearPoints()和click).
它有点工作.但是,闪亮应用程序的反应部分会刷新两次,第二次迭代似乎会清除点击的信息.
如何避免第二次刷新应用程序?
这是MWE:
library("Cairo")
library("ggplot2")
library("shiny")
ui <- fluidPage(
fluidRow(
titlePanel('Phenotype Plots')
),
fluidRow(
uiOutput("plotui")
),
hr(),
fluidRow(
wellPanel(
h4("Selected"),
tableOutput("info_clicked")
##dataTableOutput("info_clicked") ## overkill here
)
)
)
server <- function(input, output, session) {
selected_line <- reactive({
nearPoints(mtcars, input$plot_click,
maxpoints = 1,
addDist = TRUE)
})
output$plotui <- renderUI({
plotOutput("plot", height=600,
click = "plot_click"
)
})
output$plot <- renderPlot({
p <- ggplot(mtcars) +
facet_grid(am ~ cyl) +
theme_bw() +
geom_point(aes(x=wt, y=mpg))
sline <- selected_line()
if (nrow(sline) > 0) { …Run Code Online (Sandbox Code Playgroud) 我想在ggplot2中复制在LaTeX/pgf中完成的组合表/绘图.
这是原始表/情节:

这是我使用ggplot2的距离:

还有一些小问题(?),但我的主要问题是:如何添加表头?
它应该与元素正确对齐.
理想情况下,它也会模仿书签的外观,就像在原始示例中使用水平线一样.
有任何想法吗?
这是我到目前为止使用的代码:
tmptable <-
data.frame(Method=c("label", "svlabel", "libor", "rpirat", "Frankfurt", "high"),
p=c(0.03, 0.38, 0.27, 0.31, 0.05, 0.36),
p_lo=c(-0.05, 0.34, 0.21, 0.24, -0.03, 0.32),
p_hi=c(0.11, 0.41, 0.33, 0.38, 0.13, 0.41))
plotPointsCIinMatrix(tmptable)
Run Code Online (Sandbox Code Playgroud)
有了这个功能:
plotPointsCIinMatrix <- function(data,
cols=NULL,
.label=1,
.point_estimate=2,
.ci_lo=3,
.ci_hi=4,
.digits=2) {
if (!require("ggplot2"))
stop("Need package 'ggplot2'")
if (!require("reshape"))
stop("Need package 'reshape'")
if (!require("gridExtra"))
stop("Need package 'gridExtra'")
## keep the order
data[,.label] <- factor(data[,.label], levels=rev(unique(data[,.label])))
## reshape data for table plotting
table_df <- data.frame(label=data[,.label],
point_estimate=data[,.point_estimate],
ci=paste0("[", …Run Code Online (Sandbox Code Playgroud) 第一:我知道一般性意见:不要跟踪生成的文件.
说,我想跟踪生成的PDF并让git忽略写入PDF的日期.这意味着,如果唯一的区别是日期信息,我希望git将两个PDF视为相同.
我尝试的是一个过滤器 - 在其干净的部分 - 将日期设置为某个任意值.
(---评论----
基本上,过滤器确实如此:
## dump the pdf metadata to a file and replace the dates
pdftk "$FILENAME" dump_data | sed -e '{N;s/Date\nInfoValue: D:.*/Date\nInfoValue: D:19790101072619/}' > "$TMPFILE"
## update the pdf metadata
pdftk "$FILENAME" update_info "$TMPFILE" output "$TMPFILE2"
Run Code Online (Sandbox Code Playgroud)
)---结束评论----
过滤器工作(提交的pdf将日期设置为我的任意值)但我遇到了从git存储库重新检出的文件,其中'clean'过滤器结束时修改后的状态
所以,我的过滤器显然不是我想要做的.
我的问题是:
1)我可以使用聪明的过滤方法来获取git完全忽略PDF中的日期值吗?如何?
或
2)如果不是过滤器,那么正确的方法是什么?
我使用knitr从Rmd渲染md.YAML标题:output在该过程中不更改.这是有意的吗?在md文件的所有输出都不再是md之后.
举个例子(请原谅糟糕的格式 - 我不知道如何正常工作)
---
output:
md_document:
variant: markdown_github
---
# Test Document
This is a test document.
Run Code Online (Sandbox Code Playgroud)
被渲染knit(test.Rmd)成
---
output:
md_document:
variant: markdown_github
---
# Test Document
This is a test document.
Run Code Online (Sandbox Code Playgroud)
我想念什么吗?
magit 似乎为每个命令打开一个新的 ssh 连接。这变得非常烦人,尤其是在暂存更多块时,这需要花费大量时间来为每个块建立连接。
(在 shell 中,我通过 ./ssh/config 启用了持久的 ssh 连接)
我不确定这是魔术师还是流浪汉。
但我的问题是:
如何让 magit 重用 ssh 连接?
编辑:
客户是
(add-to-list 'tramp-remote-path 'tramp-own-remote-path)
(setq tramp-default-method "ssh")
(setq tramp-inline-compress-start-size 1000000)
Run Code Online (Sandbox Code Playgroud)
## generally re-use existing connections
Host *
ControlMaster auto
ControlPath ~/.ssh/sockets/%r@%h-%p
ControlPersist 600
Host myhost1
HostName 111.11.11.1
User myuser
ForwardX11 yes
ForwardX11Timeout 596h
IdentityFile ~/.ssh/id_rsa
IdentitiesOnly yes
ForwardAgent yes
SendEnv LC_*
ServerAliveInterval 300
Run Code Online (Sandbox Code Playgroud)
服务器是RHEL 7.6(迈波)
我想用reorder.dendrogram对树形图进行重新排序,但是无法绕过如何设置参数.
树形图有一个"异常值"分支,我想转移到另一边.
我可以通过这个剪切/合并调用来做到这一点,但肯定可以重新排序吗?
这是树形图:
tdro <- structure(list(structure(9L, members = 1L, height = 0, label = "leaf1", leaf = TRUE, class = "dendrogram"),
structure(list(structure(list(structure(list(structure(list(
structure(15L, label = "leaf2", members = 1L, height = 0, leaf = TRUE, class = "dendrogram"),
structure(14L, label = "leaf3", members = 1L, height = 0, leaf = TRUE, class = "dendrogram")), members = 2L, midpoint = 0.5, height = 24.8381484584436, class = "dendrogram"),
structure(list(structure(13L, label = "leaf4", members = 1L, height = 0, leaf = TRUE, …Run Code Online (Sandbox Code Playgroud) 从/sf/answers/930711631/,我学会了如何安排两个具有对齐绘图区域的图.
我的问题是:我怎样才能得到被安排的地块的对象?
例:
require(ggplot2)
require(gridExtra)
A <- ggplot(CO2, aes(x=Plant)) + geom_bar() +coord_flip()
B <- ggplot(CO2, aes(x=Type)) + geom_bar() +coord_flip()
gA <- ggplot_gtable(ggplot_build(A))
gB <- ggplot_gtable(ggplot_build(B))
maxWidth = grid::unit.pmax(gA$widths[2:3], gB$widths[2:3])
gA$widths[2:3] <- as.list(maxWidth)
gB$widths[2:3] <- as.list(maxWidth)
## works:
grid.arrange(gA, gB, ncol=1)
## does not work:
theplot <- grid.arrange(gA, gB, ncol=1, plot=FALSE)
Run Code Online (Sandbox Code Playgroud) 我正在寻找由此产生的等高线的坐标ggplot2::geom_density_2d.
我是在x/y坐标的(矩阵)列表之后.每个轮廓线一个.
这应该与contourLines给出的相似,但我无法得到理想的结果.
这是一些示例代码 ?stat_density2d
m <- ggplot(faithful, aes(x = eruptions, y = waiting)) +
geom_point() +
xlim(0.5, 6) +
ylim(40, 110)
m + geom_density_2d()
Run Code Online (Sandbox Code Playgroud) 我在公式、环境和survfit().
对于 ,事情运行良好,lm()但对于 ,却失败了survfit()。
我正在对一些数据拟合一系列公式。因此,我使用作为变量传递的公式来调用建模函数。稍后,我想使用拟合对象中的公式。
(从我天真的角度来看,问题来自于survfit没有记录环境。)
预期行为如lm():
library("plyr")
preds <- c("wt", "qsec")
f <- function() {
lm(mpg ~ wt, data = mtcars)
}
fits <- alply(preds, 1, function(pred)
{
modform <- reformulate(pred, response = "mpg")
lm(modform, data = mtcars)
})
fits[[1]]$call$formula
##modform
formula(fits[[1]])
## mpg ~ wt
## <environment: 0x1419d1a0>
Run Code Online (Sandbox Code Playgroud)
即使fits[[1]]$call$formula解决了modform我仍然可以得到原始公式formula(fits[[1]])。
但事情失败了survfit():
library("plyr")
library("survival")
preds <- c("resid.ds", "rx", "ecog.ps")
fits <-
alply(preds, …Run Code Online (Sandbox Code Playgroud)