小编Ale*_*lex的帖子

在R闪亮中使用renderText()输出多行文本

我想使用一个renderText()命令输出多行文本.但是,这似乎不可能.例如,从闪亮的教程中我们截断了代码server.R:

shinyServer(
  function(input, output) {
    output$text1 <- renderText({paste("You have selected", input$var)
    output$text2 <- renderText({paste("You have chosen a range that goes from",
      input$range[1], "to", input$range[2])})
  }
)
Run Code Online (Sandbox Code Playgroud)

和代码ui.R:

shinyUI(pageWithSidebar(

  mainPanel(textOutput("text1"),
            textOutput("text2"))
))
Run Code Online (Sandbox Code Playgroud)

基本上打印两行:

You have selected example
You have chosen a range that goes from example range.
Run Code Online (Sandbox Code Playgroud)

是否有可能在两行合并output$text1,并output$text2成为一个代码块?到目前为止,我的努力都失败了,例如

output$text = renderText({paste("You have selected ", input$var, "\n", "You have chosen a range that goes from", input$range[1], "to", input$range[2])})
Run Code Online (Sandbox Code Playgroud)

有人有主意吗?

r shiny

59
推荐指数
2
解决办法
5万
查看次数

如何在dplyr中停止使用rowwise?

因此,如果希望在dplyr中逐行应用操作,可以使用该rowwise函数,例如:使用dplyr将函数应用于表的每一行?

是否有一个unrowwise函数可以用来逐行停止操作?目前,似乎group_byrowwise删除行操作之后添加了一个,例如

data.frame(a=1:4) %>% rowwise() %>% group_by(a)
# ...
# Warning message:
# Grouping rowwise data frame strips rowwise nature 
Run Code Online (Sandbox Code Playgroud)

group_by(1)如果您希望明确删除,这是否应该使用rowwise

r dplyr

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

在R代码中使用分号或显式新行有什么区别

我原本以为分号;相当于添加一个明确的新行,例如

x <- 1; y <- 2
Run Code Online (Sandbox Code Playgroud)

是相同的

x <- 1
x <- 2
Run Code Online (Sandbox Code Playgroud)

当然,R文档似乎没有区别于语法上完整的语句:

分号和新行都可用于分隔语句.分号始终表示语句的结尾,而新行可以表示语句的结束.如果当前语句在语法上不完整,则评估者将忽略新行.

但是,我发现至少在Rstudio服务器中,分号的行为与新行不同.例如:

> temp_a ; temp_b <- 1 ; temp_c <- 2
Error: object 'temp_a' not found
> exists("temp_b")
[1] FALSE
> exists("temp_c")
[1] FALSE
Run Code Online (Sandbox Code Playgroud)

相比

> temp_a
Error: object 'temp_a' not found
> temp_b <- 1
> temp_c <- 2
> 
> exists("temp_b")
[1] TRUE
> exists("temp_c")
[1] TRUE
Run Code Online (Sandbox Code Playgroud)

为什么会这样?还有其他问题我应该留意吗?

r

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

rstudio-server的全新会话

我在虚拟化(vmware-player)ubuntu机器上运行rstudio-server,并将大量数据处理到ram中.我发现在一些不活动之后会话暂停了数据.问题是,恢复此会话需要很长时间才能使主机和虚拟机的延迟非常糟糕.

我只想杀死会话并启动一个新的rstudio-server会话,但到目前为止,我发现这是reisub我的ubuntu机器的唯一方法.有谁知道更好的解决方案?

作为一个方面说明,我想进入session-timeout-minutes=0/etc/rstudio/rsession.conf这里应该可以解决会议悬挂的问题.

r vmware-player rstudio rstudio-server

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

如何使用arrange()首先显示NA

样本数据:

temp = data.frame(col = list(NA, 1, 2, 3) )
Run Code Online (Sandbox Code Playgroud)

使用arrange:

temp %>%
    arrange(col)
Run Code Online (Sandbox Code Playgroud)

  col
1   1
2   2
3   3
4  NA
Run Code Online (Sandbox Code Playgroud)

temp %>%
            arrange(desc(col))
Run Code Online (Sandbox Code Playgroud)

  col
1   3
2   2
3   1
4  NA
Run Code Online (Sandbox Code Playgroud)

我想要

  col
1   NA
2   3
3   2
4   1
Run Code Online (Sandbox Code Playgroud)

也就是说,把NAs放在第一位.有谁知道如何做到这一点?

r dplyr

16
推荐指数
2
解决办法
4692
查看次数

Cowplot让ggplot2主题消失/如何查看当前的ggplot2主题,并恢复默认?

我最近安装了这个cowplot包.然而,在这样做之后,我注意到我的ggplots缺少他们的背景和网格线theme_grey()!

在此输入图像描述

创建上述每个图的代码是:

result_df %>%
    ggplot(aes_string(x = 'p', y = 'r')) +
    # theme_grey() + # uncomment this line to produce plot on right
    geom_point(aes(group = c), size = 0.5) +
    geom_line(aes(group = c), size = 0.2, linetype = 'dotted') +
    theme(axis.text.x=element_text(angle = 90, hjust = 1, vjust = 0.5)) +
    facet_grid(b ~ e, scales = "free_y") +
    scale_x_continuous(breaks = seq(0, 10, 2))
Run Code Online (Sandbox Code Playgroud)

没有明确调用+ theme_grey(),我得到左边的情节.

这里发生了什么?我以为那theme_grey()是默认的.如何查看我的默认主题是什么?

这是我的一个片段sessionInfo():

R version 3.3.2 (2016-10-31) …
Run Code Online (Sandbox Code Playgroud)

r ggplot2 cowplot

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

你如何检查R中的标量?

我有兴趣识别数字标量,如:

doub <- 3.14
intg <- 8L
Run Code Online (Sandbox Code Playgroud)

我知道这些被视为长度为一的向量.因此,对于任何R对象x,is.vector(x) && length(x) == 1检查是否x是标量的正确方法是什么?length(x) == 1对于具有一列的数据框或具有一个元素的列表,它本身是不够的,因为它返回true,当它应该返回false时.

是否有理由is.scalar在基地中没有实施这样的功能R?出于某种原因,我在其他功能中找到的两个功能因前面提到的数据帧情况而失败,这些是:

assertthat::is.scalar(data.frame(a = 1:2))
lambda.tools::is.scalar(data.frame(a = 1:2))
Run Code Online (Sandbox Code Playgroud)

为什么这两个函数调用的结果与我对is.scalar函数应该如何工作的理解(和定义)不同?

r

14
推荐指数
2
解决办法
3755
查看次数

外键引用可以在PostgreSQL中包含NULL值吗?

举个例子

create table indexing_table
(
  id SERIAL PRIMARY KEY,
  created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
);
Run Code Online (Sandbox Code Playgroud)

下表之间有区别吗?

表格1:

create table referencing_table
(
  indexing_table_id INTEGER references indexing_table
);
Run Code Online (Sandbox Code Playgroud)

表2:

create table referencing_table
(
  indexing_table_id INTEGER references indexing_table NOT NULL
);
Run Code Online (Sandbox Code Playgroud)

或者,在表1的情况下,没有NOT NULL约束,我们是否允许插入包含NULL值的记录?

postgresql reference foreign-keys primary-key

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

断开dplyr中的src_tbls连接

有没有办法强制断开一个类似的src_tbls对象?dplyrRPostgreSQL::dbDisconnect

参见例如:

> src_temp <- src_postgres(dbname = "temp", host = "127.0.0.1", port = 5432, user = "x", password = "y")
Error in postgresqlNewConnection(drv, ...) : 
  RS-DBI driver: (cannot allocate a new connection -- maximum of 16 connections already opened)
Run Code Online (Sandbox Code Playgroud)

作为旁注,几秒后它会很快自动断开:

Auto-disconnecting postgres connection (3734, 26)
Run Code Online (Sandbox Code Playgroud)

之后您可以src_postgres再次运行该命令.

sql r dplyr

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

dplyr中分组变量的相关矩阵

我有一个dplyr带有50个数字列的分组数据框(使用),使用其中一列将其拆分成组.我想计算所有非分组列和一个特定列之间的相关矩阵.

mtcars数据集的示例:

data(mtcars)
cor(mtcars[,2:11], mtcars[,2])
Run Code Online (Sandbox Code Playgroud)

返回每个帆船的里程数与其他变量之间的相关性列表.

但是,我想说,我希望计算每组气缸的相同相关性,例如:

library(dplyr)
mtcars <-
    mtcars %>%
    group_by(cyl)
Run Code Online (Sandbox Code Playgroud)

我该怎么做?我在想类似的东西

mtcars %>%
    group_by(cyl) %>%
    summarise_each(funs(cor(...))
Run Code Online (Sandbox Code Playgroud)

但我不知道该放什么,...因为我不知道如何在dplyr链中指定一列.

相关: 线性模型和dplyr - 更好的解决方案?答案与@ akrun的答案非常相似.此外,在交叉验证上:https://stats.stackexchange.com/questions/4040/r-compute-correlation-by-group还有其他解决方案,使用的包不是dplyr.

r dplyr

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