小编Hom*_*ite的帖子

在R Shiny应用程序中同时处理多个用户

我有一个简单的闪亮应用程序,可以跟踪用户按下某个操作按钮(actionButton())的次数,并将此总数与其他信息一起报告给用户.

现在我知道Shiny R为每个应用创建一个R会话,因此如果多个用户同时访问同一个应用,他们都在使用相同的R会话.因此,报告的用户X的动作按钮按下的数量最终是在当前R会话期间访问应用程序的所有用户的动作按钮按下的总和.

在某种意义上,我想让用户分开,在一个R会话中创建应用程序的虚拟实例.

我知道当函数shinyserver()session参数一起运行时,会创建一个会话对象,并且有关客户端计算机的信息存储在其中session$clientdata.

是否有一些已知的方法来利用此对象的内容,以便设置和管理文件,以跟踪在任何给定时间访问应用程序的各种用户的状态?

r shiny

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

在函数中调用print(ls.str())会影响rep的行为

在空的环境中开始新的R会话.使用一个参数编写一系列函数,该参数将用作times调用中参数的值rep().

f <- function(n) {
  rep("hello", times = n)
}
f(x)
Run Code Online (Sandbox Code Playgroud)

人们期望这会失败,事实上会得到:

# Error in f(x) : object 'x' not found
Run Code Online (Sandbox Code Playgroud)

稍微修改一下这个功能:

f2 <- function(n) {
  ls.str()
  rep("hello", times = n)
}

f2(x)
Run Code Online (Sandbox Code Playgroud)

正如所料,它仍然失败:

# Error in f2(x) : object 'x' not found
Run Code Online (Sandbox Code Playgroud)

稍微修改一下(以查看控制台中的环境):

f3 <- function(n) {
  print(ls.str())
  rep("hello", times = n)
}

f3(x)
Run Code Online (Sandbox Code Playgroud)

我仍然期待失败,但反而得到:

## n : <missing>
## [1] "hello"
Run Code Online (Sandbox Code Playgroud)

这就好像将print()rep做的调用times设置为1一样.

r rep

10
推荐指数
2
解决办法
217
查看次数

knitr不会运行Python命令

我已经使用knitr了很长时间,通常是在R Studio环境中.最近我在我的Windows机器上安装了Python(版本3.4.1),把它放在路径中,并试用了Yi Hui Xie的Python示例文档.但是Python代码块不会运行.从像这样的块:

{r test-python, engine='python'}
x = 'hello, python world!'
print x
print x.split(' ')
Run Code Online (Sandbox Code Playgroud)

我收到如下错误消息:

Warning: running command '"python"  -c "print '**Write** _something_ in `Markdown` from `Python`!'"' had status 1
running: "python"  -c "x = 'hello, python world!'
print x
print x.split(' ')"
  File "<string>", line 2
    print x
          ^
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)

我在Windows 7中运行R 3.1.0,使用RStudio版本0.98.847(beta预览版).Interactive Python从命令行打开就好了.

有任何想法吗?

r python-3.x knitr

5
推荐指数
1
解决办法
1658
查看次数

无法确定undefined()的类型

最近我研究了一个程序员无意中传入undefinedaddEventListener的情况,因此:

window.addEventListener('load', undefined);
Run Code Online (Sandbox Code Playgroud)

没有抛出任何错误.这就像JavaScript愿意调用一样undefined.但世界上到底 undefined()什么?我尝试过各种各样的事情,例如:

console.log(undefined() === null);
console.log(typeof undefined());
Run Code Online (Sandbox Code Playgroud)

但我从来没有得到任何回报.

为清晰起见添加了编辑:我的原始问题基于错误,因为我没有设置我的开发人员工具来将错误记录到控制台.上面的两个命令(但不是调用addEventListener)DO会在浏览器中抛出错误,如下面的答案和评论所示.

javascript

5
推荐指数
1
解决办法
113
查看次数

使用unixodbc连接数据库时出现IM004错误(macos)

在我的 Mac 上,我尝试使用 unixodbc(来自 Homebrew 的 v.2.3.7)连接到数据库。

odbcinst -j显示:

DRIVERS............: /usr/local/etc/odbcinst.ini
SYSTEM DATA SOURCES: /usr/local/etc/odbc.ini
FILE DATA SOURCES..: /usr/local/etc/ODBCDataSources
USER DATA SOURCES..: /Users/homer/.odbc.ini
SQLULEN Size.......: 8
SQLLEN Size........: 8
SQLSETPOSIROW Size.: 8
Run Code Online (Sandbox Code Playgroud)

~/.odbc.ini和的部分内容/usr/local/etc/odbc.ini

[mysql-local]
description     = local server
Driver          = MySQLDriver
SERVER          = localhost
USER            = testuser
PASSWORD        = testpass
DATABASE        = testdb
Run Code Online (Sandbox Code Playgroud)

部分内容/usr/local/etc/odbcinst.ini

[MySQLDriver]
Driver          = /usr/local/lib/libodbc.dylib
Setup           = /usr/local/lib/libodbc.dylib
FileUsage       = 1
Run Code Online (Sandbox Code Playgroud)

驱动程序/安装文件链接到一个链接到实际驱动程序的文件:/usr/local/Cellar/unixodbc/2.3.7/lib/libodbc.2.dylib。我已将此文件的权限设置为 755。

然后我尝试连接:

isql mysql-local testuser testpass -v
Run Code Online (Sandbox Code Playgroud)

结果是: …

mysql macos unixodbc rstudio

5
推荐指数
0
解决办法
721
查看次数

标签 统计

r ×3

javascript ×1

knitr ×1

macos ×1

mysql ×1

python-3.x ×1

rep ×1

rstudio ×1

shiny ×1

unixodbc ×1