小编mso*_*ain的帖子

在 Ubuntu 18.04 & R 4.0.2 上安装 tidyr 时出错

在尝试安装该软件包时tidyverse,我在安装依赖项时遇到错误tidyr

这是我收到的消息的尾部:

cpp11.cpp:31:100: error: ‘unmove’ is not a member of ‘cpp11’
     return cpp11::as_sexp(simplifyPieces(cpp11::unmove(cpp11::as_cpp<cpp11::list>(pieces)), cpp11::unmove(cpp11::as_cpp<int>(p)), cpp11::unmove(cpp11::as_cpp<bool>(fillLeft))));
                                                                                                    ^~~~~~
cpp11.cpp:31:138: error: ‘unmove’ is not a member of ‘cpp11’
     return cpp11::as_sexp(simplifyPieces(cpp11::unmove(cpp11::as_cpp<cpp11::list>(pieces)), cpp11::unmove(cpp11::as_cpp<int>(p)), cpp11::unmove(cpp11::as_cpp<bool>(fillLeft))));
                                                                                                                                          ^~~~~~
/usr/lib/R/etc/Makeconf:176: recipe for target 'cpp11.o' failed
make: *** [cpp11.o] Error 1
ERROR: compilation failed for package ‘tidyr’
* removing ‘/home/xxx/yyy/tidyr’
Warning in install.packages :
  installation of package ‘tidyr’ had non-zero exit status
Run Code Online (Sandbox Code Playgroud)

在我幼稚的眼中,问题似乎出在 cpp11 上。我看到了一个关于 tidyr 安装错误由于 cpp11 编译错误的类似问题(R tidyr 包安装因 cpp11 编译错误(扩展模式 x 不包含参数包)而失败 …

r tidyr tidyverse ubuntu-18.04

13
推荐指数
2
解决办法
1244
查看次数

RStudio的半透明度

我正在尝试在回归线周围创建一个半透明置信区域:

library(car)
library(ggplot2)
library(effects)

mod <- lm(salary~yrs.service+sex, data=Salaries)

yrseff <- as.data.frame(allEffects(mod)[[1]])

ggplot(yrseff, aes(x=yrs.service, y=fit))+
geom_ribbon(aes(ymin=lower, ymax=upper), alpha=.2)+
geom_line(colour="darkgreen", size=2)
Run Code Online (Sandbox Code Playgroud)

我收到此错误消息:

警告消息:在grid.Call.graphics(L_polygon,x $ x,x $ y,index)中:此设备不支持半透明:每页仅报告一次

但是,如果我首先打开一个pdf设备(如下面的代码所示),它会创建一个带有半透明功能区的pdf文件.

pdf()
ggplot(yrseff, aes(x=yrs.service, y=fit))+
geom_ribbon(aes(ymin=lower, ymax=upper), alpha=.2)+
geom_line(colour="darkgreen", size=2)
dev.off()
Run Code Online (Sandbox Code Playgroud)

可能是什么问题?有没有办法获得半透明度而无需保存为pdf?

我在Ubuntu 12.04上使用RStudio,这是我的会话信息.

> sessionInfo()
R version 3.0.3 (2014-03-06)
Platform: i686-pc-linux-gnu (32-bit)

locale:
[1] LC_CTYPE=en_CA.UTF-8       LC_NUMERIC=C               LC_TIME=en_CA.UTF-8       
[4] LC_COLLATE=en_CA.UTF-8     LC_MONETARY=en_CA.UTF-8    LC_MESSAGES=en_CA.UTF-8   
[7] LC_PAPER=en_CA.UTF-8       LC_NAME=C                  LC_ADDRESS=C              
[10] LC_TELEPHONE=C             LC_MEASUREMENT=en_CA.UTF-8 LC_IDENTIFICATION=C       

attached base packages:
[1] grid      stats     graphics  grDevices utils     datasets  methods   base     

other attached packages: …
Run Code Online (Sandbox Code Playgroud)

pdf r alpha-transparency ggplot2 rstudio

11
推荐指数
2
解决办法
6222
查看次数

从概念上讲,“模拟”功能是如何工作的?

如果我的问题看起来真的很简单或天真,我提前道歉,但我试图从概念上理解该函数的作用simulate(即,我对它的逻辑感兴趣,无论它是否适用于 lm、lme 等) .)

假设我正在对以下数据进行简单的多元回归:

n <- 40

x1 <- rnorm(n, mean=3, sd=1)

x2 <- rnorm(n, mean=4, sd=1.25)

y <- 2*x1 + 3*x2 + rnorm(n, mean=2, sd=1)

mydata <- data.frame(x1, x2, y)

mod <- lm(y ~ x1 + x2, data=mydata)
Run Code Online (Sandbox Code Playgroud)

当该函数simulate应用于这种情况时会做什么?所以如果我这样做:

simulate(mod, nsim=2)
Run Code Online (Sandbox Code Playgroud)

我得到的两个向量是什么?

本质上,它类似于这样做:

replicate(2, y + rnorm(n=length(y), mean="some value", sd="some other value"))
Run Code Online (Sandbox Code Playgroud)

如果类似这样的逻辑,那么“某个值”和“某个其他值”会是什么?他们会是mean(mod$residuals)sd(mod$residuals)吗?或者实际残差的排列?或者完全是别的什么?

或者它正在做一些完全不同的事情?

如果有人能用simulate简单的非技术术语解释/确认如何工作,我们将不胜感激。

r simulate

6
推荐指数
1
解决办法
2363
查看次数

K-means对空间受限数据进行聚类 - 在spdep包中使用skater

我想使用k-means聚类从自组织映射中聚类码本.但是,考虑到数据的"空间"特性,我想约束聚类,以便只将连续的节点聚集在一起.环顾四周后,我决定尝试和使用功能skaterspdep包.

这是我一直在做的一个例子.

# the 'codebook' data obtained from the self-organizing map. 
# My grid is 15 by 15 nodes. 
data <- data.frame(var1=rnorm(15*15, mean = 0, sd = 1), var2=rnorm(15*15, mean = 5, sd = 2))

# creating a matrix with all edges listed 
# (so basically one row to show a connection between each pair of adjacent nodes) 
require(spdep)
nbs <- cell2nb(nrow=15, ncol=15)

edges <- data.frame(node=rep(1:(tt.grid$xdim*tt.grid$ydim), each=4))
edges$nb <- NA 
for (i in 1:(tt.grid$xdim*tt.grid$ydim)) {   
   vals …
Run Code Online (Sandbox Code Playgroud)

r cluster-analysis spatial k-means spdep

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