小编lmo*_*lmo的帖子

使用 Rstudio 服务器时在 httr 中配置 listener_endpoint

我正在努力使用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服务器的缺陷,我不应该打扰?

google-analytics r rstudio httr rstudio-server

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

使用stat_quantile时ggplot2中的置信区间带?

我想将中值样条和相应的置信区间带添加到ggplot2散点图中.我正在使用'quantreg'包,更具体地说是rqss函数(Additive Quantile Regression Smoothing).

ggplot2我能够添加中值样条曲线,但不是置信区间带:

fig = ggplot(dd, aes(y = MeanEst, x = N, colour = factor(polarization)))
fig + stat_quantile(quantiles=0.5, formula = y ~ qss(x), method = "rqss") +
  geom_point()
Run Code Online (Sandbox Code Playgroud)

ggplot2中位样条

quantreg-package本身自带的绘图功能; plot.rqss.我可以在哪里添加置信区间(bands=TRUE):

plot(1, type="n", xlab="", ylab="", xlim=c(2, 12), ylim=c(-3, 0)) # empty plot
plotfigs = function(df) {
  rqss_model = rqss(df$MeanEst ~ qss(df$N))
  plot(rqss_model, bands=TRUE, add=TRUE, rug=FALSE, jit=FALSE)
  return(NULL)
}
figures = lapply(split(dd, as.factor(dd$polarization)), plotfigs)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

然而,quantreg-package …

r smoothing ggplot2 quantile quantreg

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

无法访问R中的用户库 - "非零退出状态"警告

当我试图在我的工作笔记本电脑上安装软件包时,我收到了一个错误.我被告知我拥有笔记本电脑的完全权限,所以应该没有块.

我认为它可能与安装包所在的库的文件路径有关?我正在使用最新版本的R和R Studio,64位,并使用加拿大的U of T CRAN镜像站点.

以下是我尝试安装plyr时出现的内容

install.packages("plyr")
Run Code Online (Sandbox Code Playgroud)

还安装了只有源代码形式的依赖'Rcpp'包,可能需要编译C/C++/Fortran:'Rcpp''plyr'

当我尝试安装时ggplot2,这是一个很长的错误消息:

错误:依赖'stringi'不适用于包'stringr'*删除'C:/RPackages/R-3.2.3/library/stringr'在install.packages中警告:运行命令'"C:/ RPACKA~1/R -32~1.3/bin/x64/R"CMD INSTALL -l"C:\ RPackages\R-3.2.3\library"C:\ Users\MICHAE~1.COL\AppData\Local\Temp\RtmpGs24zA/downloaded_pa​​ckages/stringr_1.0.0.tar.gz'在install.packages中有状态1警告:软件包'stringr'的安装具有非零退出状态错误:依赖'colorspace'不适用于软件包'munsell'*删除'C:/ RPackages /R-3.2.3/library/munsell'在install.packages中警告:运行命令'"C:/RPACKA〜1/R-32〜1.3/bin/x64/R"CMD INSTALL -l"C:\ RPackages\R-3.2.3\library"C:\ Users\MICHAE~1.COL\AppData\Local\Temp\RtmpGs24zA/downloaded_pa​​ckages/munsell_0.4.3.tar.gz"在install.packages中有状态1警告:安装包' munsell'具有非零退出状态错误:依赖'摘要','plyr','reshape2','scale'不适用于包'ggplot2'*删除'C:/ RPack age/R-3.2.3/library/ggplot2'inight.packages中的警告:运行命令'"C:/RPACKA〜1/R-32〜1.3/bin/x64/R"CMD INSTALL -l"C:\ RPackages\R-3.2.3\library"C:\ Users\MICHAE~1.COL\AppData\Local\Temp\RtmpGs24zA/downloaded_pa​​ckages/ggplot2_2.0.0.tar.gz"在install.packages中有状态1警告:安装包'ggplot2'具有非零退出状态下载的源包位于'C:\ Users\michael.colangelo\AppData\Local\Temp\RtmpGs24zA\downloaded_pa​​ckages'中

"非零退出状态"是什么意思?是否正在尝试为安装找到一个库?>代码中提到的appData文件似乎不存在或者我无法访问它.如何将其更改为另一个本地文件夹?

installation r install.packages

5
推荐指数
2
解决办法
4万
查看次数

R Studio列表和数据框自动命名完成不再起作用

突然,R Studio停止自动进入列表并输入数据框内容,mylist$然后按Tab。我得到的结果消息是

无匹配

我在非常简单的列表或数据框上尝试过:

 simpledataset <- data.frame(a=rep(0,100),b=rep(1,100))   
Run Code Online (Sandbox Code Playgroud)

但是,当我加载数据集Mtcars时,它会正确显示列名。

%localappdata%\RStudio-Desktop通过重命名来重设,但未进行任何更改。

有什么可能的原因的想法吗?

r rstudio

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

一种优雅的方式来更改R中数据框中的列类型

我有一个data.frame,其中包含不同类型的列,如整数,字符,数字和因子.

我需要将整数列转换为数字,以便在下一步分析中使用.

实施例:test.data包括4个列(虽然有成千上万在我的真实数据组): ,age,gender,work.yearsname; age并且work.years是整数,gender是因子,name是字符.我需要做的是改变agework.years进入数字类型.我写了一段代码来做这件事.

test.data[sapply(test.data, is.integer)] <-lapply(test.data[sapply(test.data, is.integer)], as.numeric)
Run Code Online (Sandbox Code Playgroud)

尽管它有效但看起来还不够好.所以我想知道是否有更优雅的方法来实现这个功能.任何创造性的方法将不胜感激.

r

5
推荐指数
2
解决办法
3万
查看次数

将前一行值乘以常数R.

有一个简单的R问题但似乎无法找到答案:

我有一个这样的数据框:

assumption_val year
1.2            2015
0              2016
0              2017
0              2018
0              2019
Run Code Online (Sandbox Code Playgroud)

我希望将每个值增加到比前一年大20%,输出如下内容:

assumption_val year
1.2            2015
1.44           2016
1.73           2017
2.07           2018
2.49           2019
Run Code Online (Sandbox Code Playgroud)

如何引用前一行并将其乘以1.2来实现此目的?

谢谢!

r dataframe

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

将向量中的每个值替换为data.frame的等级编号

在这个假设情景中,我对13种化学物质进行了5次不同的分析,得出每次分析中每种化学物质的分数.我创建了一个表如下:

---- Analysis1 Analysis2 Analysis3 Analysis4 Analysis5 Chem_1 3.524797844 4.477695034 4.524797844 4.524797844 4.096698498 Chem_2 2.827511555 3.827511555 3.248136118 3.827511555 3.234398548 Chem_3 2.682144761 3.474646298 3.017780505 3.682144761 3.236152242 Chem_4 2.134137304 2.596921333 2.95181339 2.649076603 2.472875191 Chem_5 2.367736454 3.027814219 2.743137896 3.271122346 2.796607809 Chem_6 2.293110565 2.917318708 2.724156207 3.293110565 2.530967343 Chem_7 2.475709113 3.105794018 2.708222528 3.475709113 3.088819908 Chem_8 2.013451822 2.259454085 2.683273938 2.723554966 2.400976121 Chem_9 2.345123123 3.050074893 2.682845391 3.291851228 2.700844104 Chem_10 2.327658894 2.848729452 2.580415233 3.327658894 2.881490893 Chem_11 2.411243882 2.98131398 2.554456095 3.411243882 3.109205453 Chem_12 2.340778276 2.576860244 2.549707035 3.340778276 3.236545826 Chem_13 …

r ranking

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

根据其他列中的值条件,在数据框中跨列应用if else语句

我想对数据帧中的每个列(ad)应用if else语句,如果每个值都满足基于另一列(m)的条件,则该值保持不变,否则该值更改为零。

这是一个可重现的示例:

a <- c(10, 11, 12, 15,7,8)
b <- c(15,11,16,17,1.5,9)
c <- c(18,14,6,14,1,17)
d <- c(12,11,13,19,2,4)
p <- c(2,1,3,2.5,1.3,2.1)
m <- c(12,13,8,9,14,11)

df<- data.frame(a,b,c,d,p,m)

print(df)

   a    b  c  d   p  m
1 10 15.0 18 12 2.0 12
2 11 11.0 14 11 1.0 13
3 12 16.0  6 13 3.0  8
4 15 17.0 14 19 2.5  9
5  7  1.5  1  2 1.3 14
6  8  9.0 17  4 2.1 11
Run Code Online (Sandbox Code Playgroud)

这是我要执行的操作的“长篇”版本,该版本有效,但非常重复:

df$a<- ifelse((df$a-df$p)>df$m, df$a, 0) …
Run Code Online (Sandbox Code Playgroud)

if-statement r lapply dataframe

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

测试矩阵是否为稀疏矩阵

在 R 中,有没有办法判断矩阵是否稀疏?稀疏矩阵类有很多,比如dgCMatrix,没有is.sparseMatrix方法。

r sparse-matrix

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

使用“summarise”的数据帧列的第二个(或第三个)最大值

假设我有一个像这样的数据框:

group1 <- c('a','a','a','a','a','a','b','b','b','b','b','b','b','b')
group2 <- c('x','y','x','y','x','y','x','y','x','y','x','y','x','y')
value <- round(runif(14, min=0, max=1), digits = 2)

df1 <- as.data.frame(cbind(group1,group2,value))
df1$value <- as.numeric(df1$value)
Run Code Online (Sandbox Code Playgroud)

dplyr通过使用包和函数,可以轻松获得仅包含每组最大值的新数据框summarise

df2 <- summarise(group_by(df1,group1),max_v = max(value))
Run Code Online (Sandbox Code Playgroud)

但我想要的是一个新的数据框,其中包含每组的 3 个最大值,执行类似的操作:

df2 <- summarise(group_by(df1,group1),max_v = max(value),max2_v = secondmax(value),max3_v = thirdmax(value))
Run Code Online (Sandbox Code Playgroud)

有没有办法在不使用该功能的情况下做到这一点sort

r max dataframe dplyr

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