我在远程aws服务器(ubuntu)上安装了RStudio服务器,并希望同时运行多个项目(其中一个项目需要很长时间才能完成).在Windows上有一个简单的GUI解决方案,如"在新窗口中打开项目".rstudio服务器有类似的东西吗?
简单的问题,但没有找到解决方案,除了Macs提供的相关问题
使用项目运行多个rstudio会话
但怎么样?
前段时间我使用XCode在C++ 1x中启动了一个大的头库.库的当前布局是()类似(部分输出ls -R sponf)
sponf/sponf:
ancestors sponf.h sponf_utilities.h
categories sponf_children.h utilities
children sponf_macros.h
sponf/sponf/ancestors:
function.h meter.h set.h simulation.h
sponf/sponf/categories:
free_space.h prng.h random_distribution.h series.h
sponf/sponf/children:
distributions histogram.h random simulations
meters numeric series spaces
sponf/sponf/children/distributions:
arcsine_der.h exponential.h
box_muller.h uniform.h
sponf/sponf/children/meters:
accumulator.h timer.h
#... other subdirs of 'children' ...
sponf/sponf/utilities:
common_math.h limits.h string_const.h
#... other directories ...
Run Code Online (Sandbox Code Playgroud)
我想将这个项目移植到CLion,这似乎是一个非常好的IDE(基于类似的AndroidStudio IDE),但我遇到了一些麻烦.
我试过这个小程序作为测试:
#include <iostream>
#include <sponf/sponf.h>
using namespace std;
int main() {
using space = sponf::spaces::euclidean_free_space<double, 3>;
sponf::simulations::random_walk<space> rw;
rw.step(1);
std::cout << …Run Code Online (Sandbox Code Playgroud) 我希望获得与R中相同的结果,使用data.table汇总多个列,但需要几个汇总函数.
这是一个例子
data <- as.data.table(list(x1 = runif(200), x2 = 10*runif(200), group = factor(sample(letters[1:2]))))
res <- data[, rbindlist(lapply(.SD, function(x) {
return(list(name = "varname", mean = mean(x), sd = sd(x)))
}))
, by = group, .SDcols = c("x1", "x2")
]
Run Code Online (Sandbox Code Playgroud)
并得到以下结果:
group name mean sd
1: b varname 0.5755798 0.2723767
2: b varname 5.5108886 2.7649262
3: a varname 0.4906111 0.3060961
4: a varname 4.7780189 2.9740149
Run Code Online (Sandbox Code Playgroud)
如何在第二列中获取列名('x1','x2')?我想我需要替换rbindlist其他东西,但是什么?有没有简单的解决方案?
我找不到一种方法来获取与通过Mandrill应用程序发送的一封电子邮件相关的所有统计数据?你使用Mandrill api来获取统计数据吗?
我做了以下事情
library(data.table)
library(stringr)
dt <- data.table(string_column = paste(sample(c(letters, " "), 500000, replace = TRUE)
, sample(c(letters, " "), 500000, replace = TRUE)
, sample(1:500000)
, sep = " "), key = "string_column")
split_res <- dt[, list(name = unlist(str_split(string_column, '\\s+'))), by = string_column]
Run Code Online (Sandbox Code Playgroud)
对于真实数据,它需要大约.1小时处理dt(10M行)并创建split_res(18M行)出于好奇 - 有没有办法加快进程?也许unlist + str_split这不是正确的方法吗?
我想创建N个幻灯片,以使用slidify包报告N个(大)数据子集的描述性统计.在之前的讨论中创建参数R降价文档?结合brew并knitr建议实现这一目标.
我想知道slidify这个任务是否有自己的解决方法?我想迭代数据来填充幻灯片比纯文本更合乎逻辑......
一个最小的例子(从上面的问题,我需要幻灯片而不是段落)
```{r loopResults, echo=FALSE, results='asis'}
results = list(result1 = data.frame(x=rnorm(3), y=rnorm(3)), result2=data.frame(x=rnorm(3), y=rnorm(3)))
for(res in names(results)) {
cat(paste("<h3>Results for: ", res, "</h3>>"))
plot(results[[res]]$x, results[[res]]$y)
}
Run Code Online (Sandbox Code Playgroud) 我在Windows 8.1(en)和我的R控制台不会理解俄语字符并产生这样的smth(在控制台和我运行R文件时)
> x <- "??????"
> print(x)
[1] "Ïðèâåò"
Run Code Online (Sandbox Code Playgroud)
我知道如果将CP1251保存为CP1252,就会发生这种情况.我将所有R选项设置为UTF-8,将源文件设置为UTF-8,但这没有帮助.我还设置了sysLocale俄罗斯作为这里,但一无所获.来自RStudio faq的一些建议也没有帮助.奇怪的是,ggplot2工作得非常好
dt <- as.data.frame(cbind(x = c("????", "???"), y = c(3, 5)))
ggplot(dt, aes(x=x, y=y))+geom_bar() + xlab("????")
Run Code Online (Sandbox Code Playgroud)
这是我的sessionInfo()
R version 3.0.2 (2013-09-25)
Platform: x86_64-w64-mingw32/x64 (64-bit)
locale:
[1] LC_COLLATE=Russian_Russia.1251 LC_CTYPE=Russian_Russia.1251 LC_MONETARY=Russian_Russia.1251 LC_NUMERIC=C
[5] LC_TIME=Russian_Russia.1251
attached base packages:
[1] stats graphics grDevices utils datasets methods base
Run Code Online (Sandbox Code Playgroud)
我使用的是RStudio的最新版本,但开发版本也无济于事
更新:
> Encoding(x)
[1] "unknown"
> getOption("encoding")
[1] "native.enc"
Run Code Online (Sandbox Code Playgroud)
如果我使用RGUI,Sys.setlocale("LC_ALL", "Russian")它将允许
> print(x)
[1] "??????"
Run Code Online (Sandbox Code Playgroud)
我还检查了俄语版的Windows - Rstudio工作正常
我的ggvis图取决于几个输入字段,它们像输入数据的过滤器一样工作.对于某些组合,结果数据框为空,ggvis抛出错误并中断整个应用程序.我试着把
if(nrow(inputdataframe) == 0) return NULL
if(nrow(inputdataframe) == 0) return ggvis()
Run Code Online (Sandbox Code Playgroud)
这没有帮助.在这种情况下,什么是正确的返回参数(我想要一个空图或一些文本消息)?
server.R
effvis <- reactive ({
dta <- siteeff()
if(nrow(dta) == 0) return(NULL)
dta %>%
ggvis(~param.value, ~yvar) %>%
layer_points( size := 50, size.hover := 200) %>%
set_options(width = 800, height = 500)
})
effvis %>% bind_shiny("effplot")
Run Code Online (Sandbox Code Playgroud)
ui.R -
ggvisOutput("effplot")
Run Code Online (Sandbox Code Playgroud)
更新
我不想在数据为空时显示所有数据(如此处所示)这令人困惑
我正在努力使用httroauth2.0 功能连接到 Google Analytics
oauth2.0_token(oauth_endpoints("google")
, oauth_app("google", client.id, client.secret)
, scope = "https://www.googleapis.com/auth/analytics.readonly")
Run Code Online (Sandbox Code Playgroud)
它在我本地的 Rstudio 中运行良好,但在基于 AWS 的 Rstudio Server 中会中断。当我同意在浏览器中传递数据并且谷歌将我重定向到页面 http://localhost:1410/?state=codehere 时出现错误
在本地 Rstudio 中启动身份验证时,浏览器响应消息 -身份验证完成。请关闭此页面并返回 R,以防 Rstudio 服务器它只是此网页不可用
我怀疑我需要更改listener_endpoint配置,但是如何更改?我应该输入我的 Rstudio 服务器地址而不是默认的 127.0.0.1 吗?或者是httr+Rtudio服务器的缺陷,我不应该打扰?
如何对大型data.table(data.table包)的子样本进行采样?是否有更优雅的方式来执行以下操作
DT<- data.table(cbind(site = rep(letters[1:2], 1000), value = runif(2000)))
DT[site=="a"][sample(1:nrow(DT[site=="a"]), 100)]
Run Code Online (Sandbox Code Playgroud)
猜猜有一个简单的解决方案,但无法选择正确的措辞进行搜索。
更新:
更一般地,如何在i不为行号创建临时列的情况下访问 data.table参数中的行号?
在R中:我有一个矩阵,其中一列按8种类型分类:a,b,c,d,e,f,g,h.我需要使用其他列中的数据为每种类型执行不同的计算.我想使用switch()函数来自动循环每种类型,并说明每种类型的差异计算; 但是,我在网上看到的所有内容都只显示了每个交换机的一个线路交换机计算语法的示例.
下面是使用switch()帮助中提供的代码的示例.我知道mean()是一个函数,但是我们只是说这个例子,它不是一个函数,因为我只是想说明我不知道语法(并且我的在线研究中没有明确说明) :
centre <- function(x, type) {
switch(type,
mean = {
total.sum<-sum(type)
mean = total.sum/length(type)
},
median = median(x),
trimmed = mean(x, trim = .1))
}
Run Code Online (Sandbox Code Playgroud) 像这里一样,我有一个大表,用于存储我们系统中的所有事件,对于一种事件类型,我有重复的行(多次错误地从另一个系统导出)。我需要删除它们以清除统计数据。上面提出的解决方案是
但在我的情况下,我只需要删除一类事件,而不是所有行,这对于truncate. 我想知道我是否可以从 postgres USING 语法中受益,就像这个SO 答案一样,它提供了以下解决方案 -
DELETE FROM user_accounts
USING user_accounts ua2
WHERE user_accounts.email = ua2.email AND user_account.id < ua2.id;
Run Code Online (Sandbox Code Playgroud)
问题是我在这个大表中没有 id 字段。那么在这种情况下最快的决定是什么?从临时表中删除+插入是唯一的选择吗?
r ×9
data.table ×3
rstudio ×2
c++ ×1
clion ×1
email ×1
encoding ×1
ggvis ×1
header-files ×1
header-only ×1
httr ×1
mandrill ×1
markdown ×1
postgresql ×1
r-markdown ×1
shiny ×1
slidify ×1
sql-delete ×1
substring ×1
ubuntu ×1