我正在创建一个 Shiny 应用程序,其中一部分我需要用户输入文本摘要,但是应用程序中出现的文本输入框的默认大小非常小。用户难以输入 3-4 行的摘要。你能帮我写一个可以使文本输入框变大的脚本吗?非常感谢您的帮助!

============ 我只是用 HTML 标签尝试了以下内容:
library(shiny)
shinyUI(fluidPage(
sidebarLayout(
sidebarPanel(
tags$textarea(id="my_textarea", rows=5, "Leave a comment...")
),
mainPanel(
uiOutput("my_output")
)
)
))
Run Code Online (Sandbox Code Playgroud)
但出现了一些错误 - 如下所示!
在过去,我已经能够在R中使用readHTMLTable来提取一些足球统计数据.当今年再次尝试这样做时,表格没有显示,即使它们在网页上可见.以下是一个示例:http://www.pro-football-reference.com/boxscores/201609080den.htm
当我查看页面的源代码时,表格都被注释掉了(我怀疑是为什么readHTMLTable没有找到它们).
示例:在源代码中搜索"team_stats"...
<!--
<div class="table_outer_container">
<div class="overthrow table_container" id="div_team_stats">
<table class="stats_table" id="team_stats" data-cols-to- freeze=1><caption>Team Stats Table</caption>
Run Code Online (Sandbox Code Playgroud)
问题:
如何在源中注释掉表,并在浏览器中显示?
有没有办法使用readHTMLTable(或其他一些方法)读取注释掉的表?
我正在解决R练习,但我认为我可以使这个代码更优雅或更简单.我正在使用ggplot2中的钻石数据集.我必须从数字变量中删除异常值,并且异常值对我来说是一行,其中任何数值变量高于或低于中位数+/- 3倍MAD(中位数绝对偏差).我的实际代码是非常手动的:
library(dplyr)
filter(numeric.vars,
carat > median(carat) - 3 * mad(carat),
carat < median(carat) + 3 * mad(carat),
depth > median(depth) - 3 * mad(depth),
depth < median(depth) + 3 * mad(depth),
table > median(table) - 3 * mad(table),
table < median(table) + 3 * mad(table),
price > median(price) -3 * mad(price),
price < median(price) +3 * mad(price),
x > median(x) - 3 * mad(x),
x < median(x) + 3 * mad(x),
y > median(y) - 3 * mad(y),
y …Run Code Online (Sandbox Code Playgroud) 我使用lubridate和dplyr包来处理日期变量并分别创建一个新的日期变量.
library(lubridate)
library(dplyr)
Run Code Online (Sandbox Code Playgroud)
让df我的数据帧.我有两个变量date1和date2.我想创建一个新变量date,使其取值date1.如果date1缺少,date2则取代值.
df <- data.frame(date1 = c("24/01/2016",NA,"22/07/2016"),
date2 = c("31/01/2016","09/02/2017",NA),
stringsAsFactors=FALSE)`
Run Code Online (Sandbox Code Playgroud)
上面的命令给出:
date1 date2
1 24/01/2016 31/01/2016
2 <NA> 09/02/2017
3 22/07/2016 <NA>
Run Code Online (Sandbox Code Playgroud)
我尝试了以下,我认为可以给我所需的结果.但是,新date变量在数字中.
df %>%
mutate_at(vars(date1,date2),dmy) %>%
mutate(date=ifelse(is.na(date1),date2,date1))
date1 date2 date
1 2016-01-24 2016-01-31 16824
2 <NA> 2017-02-09 17206
3 2016-07-22 <NA> 17004
Run Code Online (Sandbox Code Playgroud)
我想要:
date1 date2 date
1 2016-01-24 2016-01-31 2016-01-24
2 <NA> 2017-02-09 2017-02-09
3 2016-07-22 …Run Code Online (Sandbox Code Playgroud) 假设我有以下数据框:
(dat = data_frame(v1 = c(rep("a", 3), rep("b", 3), rep("c", 4)), v2 = 1:10))
# A tibble: 10 × 2
# v1 v2
# <chr> <int>
# 1 a 1
# 2 a 2
# 3 a 3
# 4 b 4
# 5 b 5
# 6 b 6
# 7 c 7
# 8 c 8
# 9 c 9
# 10 c 10
Run Code Online (Sandbox Code Playgroud)
我希望能够做的是计算每个组(即"A","B"和"C")等于之和的总和v2,其中v1是不相等的分组值.所以看起来应该是这样的:
# A tibble: 3 × 2
# …Run Code Online (Sandbox Code Playgroud) 我正在研究一个带有预测和观测的箱线图,这是一个非常长的数据集.我在这里提供样本格式.
> forecasts <- data.frame(f_type = c(rep("A", 9), rep("B", 9)),
Date = c(rep(as.Date("2007-01-31"),3), rep(as.Date("2007-02-28"), 3), rep(as.Date("2007-03-31"), 3), rep(as.Date("2007-01-31"), 3), rep(as.Date("2007-02-28"), 3), rep(as.Date("2007-03-31"), 3)),
value = c(10, 50, 60, 05, 90, 20, 30, 46, 39, 69, 82, 48, 65, 99, 75, 15 ,49, 27))
>
> observation <- data.frame(Dt = c(as.Date("2007-01-31"), as.Date("2007-02-28"), as.Date("2007-03-31")),
obs = c(30,49,57))
Run Code Online (Sandbox Code Playgroud)
到目前为止,我有:
ggplot() +
geom_boxplot(data = forecasts,
aes(x = as.factor(Date), y = value,
group = interaction(Date, f_type), fill = f_type)) +
geom_line(data = observations,
aes(x = …Run Code Online (Sandbox Code Playgroud) 我在R中有一个数据框如下:
D = data.frame(countrycode = c(2, 2, 2, 3, 3, 3),
year = c(1980, 1991, 2013, 1980, 1991, 2013),
hello = c("A", "B", "C", "D", "E", "F"),
world = c("Z", "Y", "X", "NA", "Q", "NA"),
foo = c("Yes", "No", "NA", "NA", "Yes", "NA"))
Run Code Online (Sandbox Code Playgroud)
我想要列hello,world并foo合并在一个列中,索引为countrycode和year,如下所示:
output<-data.frame(countrycode=c(2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3),
year=c(1980,1980,1980,1991,1991,1991,2013,2013,2013,1980,1980,1980,1991,1991,1991,2013,2013,2013),
Combined=c("A","Z","Yes","B","Y","No","C","X","NA","D","NA","NA","E","Q","Yes","F","NA","NA"))
Run Code Online (Sandbox Code Playgroud)
我都一直cbind从标准R和gather从tidyr包装,既不似乎工作.
我想使用循环制作矢量。
这是我的R代码:
vec_teamCodes <- c()
x <- 0
while (x < 10) {
append(vec_teamCodes,"Hello")
x <- x+1
}
Run Code Online (Sandbox Code Playgroud)
但是当我运行它时,vec_teamCodes()仍然存在NULL。
为什么?如何修复我的代码?
我需要从列表中挖掘出类似的数据帧并将它们放入数据帧中.我创建了一个玩具示例:
nn <- list()
h <- data.frame(a = c(5,6), j = c(8,1), g = c("d","o"))
rnz <- c("test1","test2")
o <- data.frame(a = c(1,2), j = c(6,4), g = c("r","u"))
rownames(h) <- rnz
rownames(o) <- rnz
i <- 1:4
nn$set1 <- list(num = i, df = h)
nn$set2 <- list(num = i / 2, df = o)
Run Code Online (Sandbox Code Playgroud)
现在我想将列表提取为以下整齐的格式
var a j
set1 test1 5 8
set1 test2 6 1
set2 test1 1 6
set2 test2 2 4
Run Code Online (Sandbox Code Playgroud)
但是 - 当我这样做的时候
df …Run Code Online (Sandbox Code Playgroud) 我只需要复制我的data.frame n次(例如100)并将所有输出保存到列表中.
它应该是非常简单和直接的,但我还没有找到任何解决方案.
假数据框:
df = read.table(text = 'a b
1 2
5 6
4 4
11 78
23 99', header = TRUE)
Run Code Online (Sandbox Code Playgroud) r ×10
dplyr ×3
dataframe ×2
list ×2
boxplot ×1
date ×1
ggplot2 ×1
html ×1
html-parsing ×1
lubridate ×1
replicate ×1
shiny ×1
shiny-server ×1
vector ×1
while-loop ×1