小编Nat*_*han的帖子

R - 绘制六边形镶嵌

我想生成一些方形图,里面有六边形数组,就像这里绘制的一样。我想绘制常规(几何规则)和异常六边形镶嵌,所以我认为“sp”包中的工具不起作用。

下面是我使用 owin 和 plot 进行正六边形镶嵌的尝试。


library(maptools)
library(spatstat)

twid <- 20
theight <-  20
sideL <- 2
rp1 <- (sideL/2)*sqrt(3)
rp2 <- 2*(sideL/2)*sqrt(3)
rp3 <- 3*sideL

    bx <- c(1:floor(twid/rp3))
    by <- c(1:floor(theight/rp3))
    hex_array1 <- list(bx)
    hex_array2 <- list(by)

    for(i in 1:ceiling(twid/rp3)){
        bx[i] <- list(x=c(0+rp3*i,1+rp3*i,3+rp3*i,4+rp3*i,3+rp3*i,1+rp3*i)) 
        by[i] <- list(y=c(rp1,rp2,rp2,rp1,0,0))
            hex_array1[i] <- bx[i]
            hex_array2[i] <- by[i]
    }

    har1 <- list(x=c(0,1,3,4,3,1), y=c(rp1,rp2,rp2,rp1,0,0))

    har2 <- list(x=hex_array1,y=hex_array2)


hexig <- owin(poly=list(list(x=c(0,twid,twid,0), y=c(0,0,theight,theight)),
                        har1, har2
                        )
                )
    plot(hexig)
Run Code Online (Sandbox Code Playgroud)

但是,由于 har2 未正确格式化为列表列表,因此上述内容似乎出错了。

以上显然仅适用于单行六边形,但我想一旦获得第一行,我只需将单行包装在 for 循环中,为每行添加一组 x 和 …

plot r hexagonal-tiles tesselation spatstat

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

Levene检验的多重比较事后检验

我想在R中的Levene的测试中进行成对比较事后测试。我知道如何使用PROC GLM在SAS中进行测试,但是我似乎不知道如何在R中进行测试。有人吗?理念?在下面的示例中,我希望能够测试“ cat”的所有级别(即AB,AC,AD,BC,BD,CD)之间的方差均匀性。我发现最好的方法是将我的数据子集到每个对中,然后对每个子集运行一次Levene检验,然后在最后进行Bonferroni校正。但是,当我的因素数量很大时,这不是实际的解决方案。

library(car)
dat <- rnorm(100, mean=50, sd=10)
cat <- rep(c("A", "B", "C","D"), each=25)
df <- data.frame(cat,dat)
df$cat <- as.factor(df$cat)

LT <- leveneTest(dat ~ cat, data = df)
Run Code Online (Sandbox Code Playgroud)

r posthoc r-car pairwise

4
推荐指数
1
解决办法
1372
查看次数

使用ggplot2在R中的分组箱图上分组散点图

我正在使用ggplot2创建一个带有散点图叠加的分组箱图.我想将每个散点图数据点与它对应的分组框图进行分组.

但是,我也喜欢散点图是不同的符号.我似乎能够将我的散点图分组与我的分组箱图分组,或者将我的散点图点指向不同的符号......但不能同时进行.下面是一些示例代码,用于说明发生的情况:

library(scales)
library(ggplot2) 

# Generates Data frame to plot
Gene <- c(rep("GeneA",24),rep("GeneB",24),rep("GeneC",24),rep("GeneD",24),rep("GeneE",24))
Clone <- c(rep(c("D1","D2","D3","D4","D5","D6"),20))
variable <- c(rep(c(rep("Day10",6),rep("Day20",6),rep("Day30",6),rep("Day40",6)),5))
value <- c(rnorm(24, mean = 0.5, sd = 0.5),rnorm(24, mean = 10, sd = 8),rnorm(24, mean = 1000, sd = 900), 
           rnorm(24, mean = 25000, sd = 9000), rnorm(24, mean = 8000, sd = 3000))
    value <- sqrt(value*value)
        Tdata <- cbind(Gene, Clone, variable)
        Tdata <- data.frame(Tdata)
            Tdata <- cbind(Tdata,value)

# Creates the Plot of All Data
# The below code groups …
Run Code Online (Sandbox Code Playgroud)

graphing r scatter-plot ggplot2 boxplot

2
推荐指数
1
解决办法
819
查看次数