我想确定一个对象是否存在于R中的函数内:
foo <- function() {
y <- "hello"
if (exists(y, envir = sys.frame())) print(y)
}
foo()
Run Code Online (Sandbox Code Playgroud)
存在错误(y,envir = sys.frame()):第一个参数无效
我想添加envir = sys.frame()
就可以了.也试过了envir = environment()
预期
foo()
"hello"
Run Code Online (Sandbox Code Playgroud) unzip
( utils
) 函数中不能指定密码。我知道的另一个功能,getZip
(Hmisc
) 仅适用于包含一个压缩文件的 zip 文件。
我想做这样的事情来解压缩 Windows 8 中 foo.zip 中的所有文件:
unzip("foo.zip", password = "mypass")
Run Code Online (Sandbox Code Playgroud) 我需要更改用 knit::kable 打印的表格标题的背景颜色。我可以用来kableExtra::column_spec
更改整个列的背景,但它不会影响标题行:
library(knitr)
library(kableExtra)
kable(data.frame(a = 1, b = 2)) %>%
column_spec(1, background = "yellow")
Run Code Online (Sandbox Code Playgroud)
想要的结果:kable
列标题a
具有黄色背景(表的其余部分具有白色背景)的
输出。
实际上,numericInput
接受字符串和数字输入.如果输入一个字符串,则将其转换为NA
(尝试使用下面的代码).有没有办法不允许用户在闪亮的数字字段中键入字符串?
ui <- fluidPage(
numericInput("num", label = "text not allowed", value = 1),
verbatimTextOutput("value")
)
server <- function(input, output) {
output$value <- renderPrint({ input$num })
}
shinyApp(ui = ui, server = server)
Run Code Online (Sandbox Code Playgroud)
到目前为止,我在数字输入旁边添加了一个文本输出,警告用户如果她在numericInput
字段中输入字符串,则只接受数字.这个解决方案对我来说远非理想.
我希望用户无法在数字字段中输入字符值.
从文档:
radioButtons(inputId,label,choices,selected = NULL,inline = FALSE,width = NULL)
参数
选中 最初选择的值(如果未指定则默认为第一个值)
但是,您可以指定selected
参数,以便渲染的radioButtons没有选择初始值吗?此初始值的输出可以是空字符串(""
).在下面的示例中,应用程序运行时不应选择"a"和"b".
library(shiny)
runApp(
list(
ui = shinyUI(
fluidPage(
radioButtons("test","test",choices=c("a","b"),selected = NULL),
verbatimTextOutput("value")
)
), server = shinyServer(function(input, output,session) {
output$value <- renderText(input$test)
})
)
)
Run Code Online (Sandbox Code Playgroud)
UPDATE
正如Hackerman所说,selected = character(0)
诀窍就是这样.
我想找出所观察到的案件与不属于案件类型的案件之间的区别:
set.seed(42)
df <- data.frame(type = factor(rep(c("A", "B", "C"), 2)), observed = rep(c(T,F), 3),
val1 = sample(5:1, 6, replace = T), val2 = sample(1:5, 6, replace = T),
val3 = sample(letters[1:5], 6, replace = T))
# type observed val1 val2 val3
# 1 A TRUE 1 4 e
# 2 B FALSE 1 1 b
# 3 C TRUE 4 4 c
# 4 A FALSE 1 4 e
# 5 B TRUE 2 3 e
# 6 C FALSE …
Run Code Online (Sandbox Code Playgroud) 是否可以在 Shiny 应用程序(在 Windows 中)中拥有,说F7
或Q
触发反应流?这个问题提供了使用键盘输入交替选项卡的代码,但我对启动反应流感兴趣。例如,每次用户按下Q
键盘时都会“触发”一个按钮。
我需要用户将文本片段分配给Shiny中的类别或“代码”。基本上,我希望用户突出显示来自输出的文本(在下面的示例中,来自table
或text
输出),然后按按钮(code
)并将选定的文本分配给应用程序内的对象。在下面的应用中,所选文本应呈现为output$selected_text
。我希望您能就如何实现此目标提出任何建议,我怀疑JavaScript会有所帮助。
library(shiny)
text1 <- "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce nec quam ut tortor interdum pulvinar id vitae magna. Curabitur commodo consequat arcu et lacinia. Proin at diam vitae lectus dignissim auctor nec dictum lectus. Fusce venenatis eros congue velit feugiat, ac aliquam ipsum gravida. Cras bibendum malesuada est in tempus. Suspendisse tincidunt, nisi non finibus consequat, ex nisl condimentum orci, et dignissim neque est vitae nulla." …
Run Code Online (Sandbox Code Playgroud) 我df
有一个link
列(类型列表),指定记录是否匹配df
(即,如果它有重复).
df <- data.frame(id=1:7,link=I(list(c(2,3),c(1,3),c(1,2),NA,NA,7,6)))
id link
1 1 2, 3
2 2 1, 3
3 3 1, 2
4 4 NA
5 5 NA
6 6 7
7 7 6
Run Code Online (Sandbox Code Playgroud)
我想要子集df
以仅保留具有链接记录的那些行的第一个匹配行(即,关于按ID的顺序).我想要:
id link
1 1 2, 3
2 4 NA
3 5 NA
4 6 7
Run Code Online (Sandbox Code Playgroud)
我已经尝试了一个循环来存储id
要从df
中删除的行的值to_remove
.它现在不太有效,我觉得我正在过度思考这个问题.
to_remove <- character(0)
for (n in 1:nrow(df)) {
links <- df$link[[n]]
if (all(is.na(links))) next # skip if no links …
Run Code Online (Sandbox Code Playgroud) 我正在创建一个带有自定义键盘快捷键的Shiny应用程序(例如,如果有人按下s
,将提交一些数据).为此,我发现在R中生成键盘布局的"图"以将键映射到其快捷键功能并在应用程序中显示非常有用.
这些是一些虚拟快捷方式:
actions <- c("back", "next", "update", "submit")
keys <- c(",", ".", "u", "s")
keycode <- c(188,190,85,83)
data.frame(actions, keys, keycode)
# actions keys keycode
# back , 188
# next . 190
# update u 85
# submit s 83
Run Code Online (Sandbox Code Playgroud)
我想要这样的东西:
r ×10
shiny ×4
data-entry ×1
dataframe ×1
dplyr ×1
duplicates ×1
environment ×1
ggplot2 ×1
grouping ×1
javascript ×1
kable ×1
kableextra ×1
knitr ×1
mapping ×1
plot ×1
r-markdown ×1
radio-button ×1
scoping ×1
summarize ×1
unzip ×1
windows ×1