对于可能是个愚蠢的问题我很抱歉.当我做:
> quantile(df$column, .75) #get 3rd quartile
Run Code Online (Sandbox Code Playgroud)
我得到类似的东西
75%
1234.5
Run Code Online (Sandbox Code Playgroud)
有没有办法获得没有描述性"75%"字符串的值(1234.5)?非常感谢你.
有没有办法让Rstudio告诉你哪个源文件生成了一条警告消息?现在它只是打印消息,我迷失了导致问题的原因.
在Rstudio中,选中此菜单选项: Debug> Error> Error Inspector
但它没有帮助,可能是因为这些是警告而不是错误?想法?
我试图跳过从大文件加载数据的步骤,如果这已经提前完成.由于数据最终(例如)mydf,我以为我可以这样做:
if( !exists(mydf) )
{
#... steps to do loading here.
}
Run Code Online (Sandbox Code Playgroud)
我从如何检查是否在R中定义了对象(变量)得到了这个?和https://stat.ethz.ch/R-manual/R-devel/library/base/html/exists.html
然而R Studio只是抱怨
'Error in exists(mydf) : object 'mydf' not found
Run Code Online (Sandbox Code Playgroud)
它为什么抱怨而不是仅仅返回'true'或'false'?任何提示赞赏.
我已成功使用以下模式聚合数据:
newdf <- setDT(df)[, list(X=sum(x),Y=max(y)), by=Z]
Run Code Online (Sandbox Code Playgroud)
然而,当我尝试做任何更复杂的事情时,尽管代码运行,但它不再按 Z 聚合:它似乎创建了一个与原始 df 具有相同数量观察值的数据框,所以我知道实际上没有发生分组。
我想要应用的自定义函数是查找当前值列表的 n 分位数,然后用它做一些其他事情。我在另一个 SO 答案中看到了 sdcols 的使用,并尝试了类似的操作:
customfunc <- function(dt){
q = unname(quantile(dt$column,0.25))
n = nrow(dt[dt$column <= q])
return(n/dt$someOtherColumn)
}
#fails to group anything!!! also rather slow...
newdf <- setDT(df)[, customfunc(.SD), by=Z, .SDcols=c(column, someOtherColumn)]
Run Code Online (Sandbox Code Playgroud)
有人可以帮我弄清楚我尝试使用分组依据和自定义函数的方式有什么问题吗?非常感谢。
根据要求的文字示例:
> df <- data.frame(Z=c("abc","abc","def","abc"), column=c(1,2,3,4), someOtherColumn=c(5,6,7,8))
> df
Z column someOtherColumn
1 abc 1 5
2 abc 2 6
3 def 3 7
4 abc 4 8
> newdf <- setDT(df)[, customfunc(.SD), by=Z, …
Run Code Online (Sandbox Code Playgroud) 我只是想将输出写到textOutput,但我不希望它对任何反应式做出响应-我想完全控制更新文本的时间(对于通知:我想基本上基于后端处理将一些日志消息写入到屏幕)。
如果我verbatimTextOutput("txt")
在ui.R中添加:,然后尝试执行以下操作:
observeEvent(input$someButton, {
... # do some work
output$txt <- "some text" #Error: see below
... # do some more work
})
Run Code Online (Sandbox Code Playgroud)
我收到警告:观察器中出现未处理的错误:txt的字符输出异常
添加:可复制的示例:
server <- function(input, output) {
observeEvent(input$doBtn, {
#... do some work
output$txt <- "some text" #crashes app.
#... do some more work
})
output$distPlot <- renderPlot({
hist(rnorm(input$obs), col = 'darkgray', border = 'white')
})
}
ui <- shinyUI(fluidPage(
mainPanel(
verbatimTextOutput("txt"),
actionButton("doBtn", "Do something")
)
))
shinyApp(ui = ui, server = server) …
Run Code Online (Sandbox Code Playgroud) 我有一个闪亮的应用程序(使用闪亮的仪表板).我试图传递url上的参数,使用这些参数生成一些数据然后将其返回给调用应用程序.我把它放在我的服务器上:
observe({
#all url params come in via the 'url_search' variable.
query <- parseQueryString(session$clientData$url_search)
action <- query[['action']]
if (!is.null(action)) {
#handle all supported request here
if(action == 'blah') {
#... do somework here to create my dataframe
shiny:::httpResponse(status=200, content_type="text/html; charset=UTF-8", mydataframe)
} else {
#... ignore unrecognized request
}
}
})
Run Code Online (Sandbox Code Playgroud)
这有效,但不是以预期的方式:
请求处理正确,但首先发生的是渲染整个闪亮的应用程序.然后,稍后,我看到一个'POST'请求,我的原始url作为引用者,并将所需的数据作为JSON数据发布,但我不知道它在哪里.
我需要什么,以便我可以将我的URL(带参数)发送到我的闪亮应用程序,然后让它绕过其通常的交互模式,只是立即返回原始json数据而不渲染html?是因为我通过浏览器提出请求吗?我应该在R中以编程方式提出相同的网址请求吗?
更新:我尝试在我的网址上使用fromJSON('...')也行不通.我明白了:
Error in fromJSON(content, handler, default.size, depth, allowComments, :
invalid JSON input
Run Code Online (Sandbox Code Playgroud) 出什么问题了:
select count (a.*, b.*)
from tableA a, tableB b
where a.x = 'blah'
and b.x = 'blah'
Run Code Online (Sandbox Code Playgroud)
我不断收到错误:
消息 102,级别 15,状态 1,第 1
行“*”附近的语法不正确。
我有很多表名可供选择,所以想使用表名别名吗?任何帮助表示赞赏:我不太擅长 sql。