我想使用一个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)
有人有主意吗?
因此,如果希望在dplyr中逐行应用操作,可以使用该rowwise
函数,例如:使用dplyr将函数应用于表的每一行?
是否有一个unrowwise
函数可以用来逐行停止操作?目前,似乎group_by
在rowwise
删除行操作之后添加了一个,例如
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
?
我原本以为分号;
相当于添加一个明确的新行,例如
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)
为什么会这样?还有其他问题我应该留意吗?
我在虚拟化(vmware-player)ubuntu机器上运行rstudio-server,并将大量数据处理到ram中.我发现在一些不活动之后会话暂停了数据.问题是,恢复此会话需要很长时间才能使主机和虚拟机的延迟非常糟糕.
我只想杀死会话并启动一个新的rstudio-server会话,但到目前为止,我发现这是reisub
我的ubuntu机器的唯一方法.有谁知道更好的解决方案?
作为一个方面说明,我想进入session-timeout-minutes=0
中/etc/rstudio/rsession.conf
按这里应该可以解决会议悬挂的问题.
样本数据:
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)
也就是说,把NA
s放在第一位.有谁知道如何做到这一点?
我最近安装了这个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) 我有兴趣识别数字标量,如:
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
函数应该如何工作的理解(和定义)不同?
举个例子
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
值的记录?
有没有办法强制断开一个类似的src_tbls
对象?dplyr
RPostgreSQL::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
再次运行该命令.
我有一个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 ×9
dplyr ×4
cowplot ×1
foreign-keys ×1
ggplot2 ×1
postgresql ×1
primary-key ×1
reference ×1
rstudio ×1
shiny ×1
sql ×1