标签: lattice

更改boxplot的布局并为其添加标签

我想(有建议这样做)创建具有不同外观的boxplot并为其添加标签.预期(未完成)输出将如下所示(每个框具有多种标签)和样本大小.

在此输入图像描述

 boxplot(len~supp*dose, data=ToothGrowth, notch=TRUE,
  col=(c("gold","darkgreen")),
   main="Tooth Growth", xlab="Suppliment and Dose", names = supp )

  # some  unsuccessful trials 
 # to add names 
 boxplot(len~supp*dose, data=ToothGrowth, notch=TRUE,
  col=(c("gold","darkgreen")),
   main="Tooth Growth", xlab="Suppliment and Dose", names = supp*dose)
 # to remove the plot outline 
 boxplot(len~supp*dose, data=ToothGrowth, notch=TRUE,
  col=(c("gold","darkgreen")),
   main="Tooth Growth", xlab="Suppliment and Dose", bty="n")
Run Code Online (Sandbox Code Playgroud)

plot r ggplot2 lattice boxplot

8
推荐指数
1
解决办法
3031
查看次数

热图或相关矩阵图

我试图用相关矩阵制作一个图,并用三种颜色来表示使用库晶格的相关系数.

library(lattice)

levelplot(cor)
Run Code Online (Sandbox Code Playgroud)

我得到以下情节:

相关矩阵的图

该图仅适用于我拥有的数据的子集.当我使用整个数据集(400X400)时,它变得不清楚,并且颜色没有正确显示并显示为点.对于大型矩阵,是否可以以平铺形式获得相同的内容?

我尝试使用pheatmap函数,但我不希望我的值被聚集,只是想要以tile形式清楚地表示高值和低值.

r lattice

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

更改地层图的x轴限制(即多面板图)

如何在地层图中手动调整每个面板的x轴限制?

例如,这里Stratiplot来自analogue:

library(analogue)
data(V12.122)
Depths <- as.numeric(rownames(V12.122))

(plt <- Stratiplot(Depths ~ O.univ + G.ruber + G.tenel + G.pacR,
                   data = V12.122,  type = c("h","l","g","smooth")))
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

例如,我怎样才能将G.ruber的xlim改为c(0.3,0.9)和G.pacR改为c(0,0.75)?

或者,另一种可能性,strat.plot来自rioja:

library(rioja)
library(vegan) ## decorana
data(RLGH)
# remove less abundant taxa
mx <- apply(RLGH$spec, 2, max)
spec <- RLGH$spec[, mx > 3]
depth <- RLGH$depths$Depth
#basic stratigraphic plot
strat.plot(spec, y.rev=TRUE)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

例如,我怎样才能将TA004A的xlim更改为c(0,20)?

我想我需要提供一些东西来解决底层的格子/基础图代码,但我不知道如何开始使用它.

plot r lattice

8
推荐指数
1
解决办法
535
查看次数

绘制R图中的交互

我有以下类型的数据(虽然数据点的数量非常大)

# property data
name <- c("A", "B", "C", "D")
diameter <- c(4.3, 8.3,1.2, 3.3)
X <- c( 1, 2, 3, 4)
Y <- c(1, 3, 3, 4)
colr <- c(10, 20, 34, 12)
propdata <- data.frame (name, diameter, X, Y, colr)


# interaction data
name1 <- c("A", "A", "A", "B", "B")
name2 <- c("B", "C", "D", "C", "D")
score <- c(1.1, 2.2, 5.4, 3.1, 2.0)
relation <- data.frame (name1, name2, score)
Run Code Online (Sandbox Code Playgroud)

我想创建一个类似于以下的图形,以便它具有以下属性.

(

1) diameter of circles is governed …
Run Code Online (Sandbox Code Playgroud)

interaction r graph ggplot2 lattice

7
推荐指数
1
解决办法
1009
查看次数

在格子条形图功能中获取分组条的中点值

我试图弄清楚如何确定分组条的中点值,即每个条的中心的实际X位置.这是很容易在基础R完成barplot功能,但是我希望能够做到这一点的格子barchart.我的目标是在相应的栏顶部显示文本列的值.

只要我不使用子组,下面的代码允许我将文本放在条形图的顶部.我试过在互联网上搜索解决方案,但似乎没有任何效果.从图中可以看出,中点仅针对整个组的中心确定.

谢谢!

library(lattice)

test= data.frame(
  group=c("WK 1", "WK 1", "WK 1",  "WK 2", "WK 2", "WK 2", "WK 3", "WK 3", "WK 3"),
  subgroup=c(1,2,3,1,2,3,1,2,3)  ,
  percent=c(60,50,80,55,56,65,77,65,86),
  text=c("n=33", "n=37","n=39","n=25","n=27","n=22","n=13","n=16","n=11")
  )

barchart(data=test, 
         percent~group,
         groups=subgroup,

            panel = function(x,y,...){
              panel.barchart(x, y, ...)
              panel.text( x=unique(test$group), 
                          y=test$percent, 
                          label=unique(test$text) 
                          )

            }
         )
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

r lattice

7
推荐指数
1
解决办法
1333
查看次数

通过点阵中的点绘制二次样条

基于这个伟大的问题:如何绘制通过某些点的平滑曲线

如何在格子中做到这一点?

plot(rnorm(120), rnorm(120), col="darkblue", pch=16, xlim=c(-3,3), ylim=c(-4,4))
points(rnorm(120,-1,1), rnorm(120,2,1), col="darkred", pch=16)
points(c(-1,-1.5,-3), c(4,2,0), pch=3, cex=3)
xspline(c(-1,-1.5,-3), c(4,2,0), shape = -1)
Run Code Online (Sandbox Code Playgroud)

看起来应该是这样的:

这是类似的数据,格式更合适的lattice情节:

dat <- data.frame(x=c(rnorm(120), rnorm(120,-1,1)),
                  y=c(rnorm(120), rnorm(120,2,1)),
                  l=factor(rep(c('B','R'),each=120))
)
spl <- data.frame(x=c(-1,-1.5,-3), 
                  y=c(4,2,0)
)
Run Code Online (Sandbox Code Playgroud)

以下是链接问题给出的内容,翻译为lattice:

xyplot(y ~ x,
       data=dat,
       groups=l,
       col=c("darkblue", "darkred"),
       pch=16,
       panel = function(x, y, ...) {
         panel.xyplot(x=spl$x, y=spl$y, pch=3, cex=3)
         ## panel.spline(x=spl$x, y=spl$y)              ## Gives an error, need at least four 'x' values
         panel.superpose(x, y, ...,
                         panel.groups = function(x, y, ...) …
Run Code Online (Sandbox Code Playgroud)

r lattice

7
推荐指数
1
解决办法
1072
查看次数

使用嵌套因子删除条形图中的每个面板未使用因子

前段时间我问了一个关于如何删除条形图中未使用因子的问题,我得到了一个有用的解决方案,感谢@Aaron.现在,我面临着一个非常类似的问题,但我过去使用的解决方案对于这种情况并不适用.

这是重现我正在使用的数据框的代码:

set.seed(17)
df <- data.frame(BENCH = sprintf('bench-%s', sort(rep(letters[1:8], 4))),
                 CLASS.CFG = sprintf('class-%s',
                     c(rep('C', 4), rep('A', 4), rep('B', 8),
                       rep('C', 8), rep('A', 4), rep('D', 4))),
                 EXEC.CFG = rep(c('st', 'st', 'dyn', 'dyn'), 8),
                 METRIC = rep(c('ipc', 'pwr'), 16),
                 VALUE = runif(32))
Run Code Online (Sandbox Code Playgroud)

绘制此数据框的简单命令是:

library(lattice)
barchart(VALUE ~ BENCH | EXEC.CFG + CLASS.CFG, df, groups = METRIC,
         scales = list(x = list(rot = 45, relation = 'free')),
         auto.key = list(columns = 2))
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,我正在为每个BENCH绘制VALUE约束到EXEC.CFG和CLASS.CFG的每个可能组合(这就是我对嵌套因子的意思),并使用METRIC创建组.

这是我获得的结果:

plot_with_gaps

即使我对X轴使用"自由"刻度,在绘图中一些条之间也存在一些(不必要的)间隙(例如,在bench-b和之间bench-g).

我尝试以下列方式应用我之前提出的问题的解决方案:

pl1 <- …
Run Code Online (Sandbox Code Playgroud)

plot r lattice

7
推荐指数
1
解决办法
454
查看次数

重复格点图上的类别(R中的likert函数)

我是新手R用户,我正在尝试使用HH包中的likert函数创建一个绘图.我的问题似乎来自重复类别标签.更容易显示问题:

    library(HH)

    responses <- data.frame( Subtable= c(rep('Var1',5),rep('Var2',4),rep('Var3',3)),
    Question=c('very low','low','average','high','very high', '<12', '12-14', '15+',
    'missing', '<25','25+','missing'), Res1=as.numeric(c(0.05, 0.19, 0.38, 0.24, .07,
    0.09, 0.73, 0.17, 0.02, 0.78, 0.20,  0.02)), Res2=as.numeric(c(0.19, 0.04, 0.39,
    0.22, 0.06, 0.09, 0.50, 0.16, 0.02, 0.75, 0.46, 0.20)))

    likert(Question ~ . | Subtable, responses,
    scales=list(y=list(relation="free")), layout=c(1,3),
    positive.order=TRUE, 
    between=list(y=0),
    strip=FALSE, strip.left=strip.custom(bg="gray97"),
    par.strip.text=list(cex=.6, lines=3),
    main="Description of Sample",rightAxis=FALSE,
    ylab=NULL,  xlab='Percent')
Run Code Online (Sandbox Code Playgroud)

不幸的是,它会创建一些并不存在的奇怪空间,如下图所示:

在此输入图像描述

这似乎来自重复的"缺失"类别.我的实际数据有几个重复(例如,'不','其他'),每当它们被包括在内时我得到这些额外的空格.如果我运行相同的代码但删除重复的类别,那么它运行正常.在这种情况下,这意味着将上面代码中的"响应"更改为responses[! responses$Question %in% 'missing',].

有人可以告诉我如何使用所有类别创建图表,而无需获得"额外"空格?感谢您的帮助和耐心.

-Z

R 3.0.2
HH 3.0-3
lattice 0.20-24
latticeExtra 0.6-26
Run Code Online (Sandbox Code Playgroud)

r lattice

7
推荐指数
1
解决办法
385
查看次数

可视化ANCOVA包含公式(例如库HH)

包HH似乎提供了一种可视化ANCOVA的简便方法

library(HH)
data(hotdog)
ancova(Sodium ~ Calories * Type, data=hotdog)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

有喜欢的东西来combinate这样一个舒适的方式panel.ablineqlatticeExtra?(http://latticeextra.r-forge.r-project.org#panel.ablineq)获取具体功能(斜率,截距)?

plot r lattice

7
推荐指数
1
解决办法
671
查看次数

重叠晶格直方图的公共中断和自由轴

需要什么咒语才能实现重叠,lattice::histogram并具有共同的断点(跨组,但可能因面板而异)?

例如,假设我希望将每个面板的数据(组合的组)的总范围分成 30 个箱。

示例数据:

library(lattice)
set.seed(1)
d <- data.frame(v1=rep(c('A', 'B'), each=1000), 
                v2=rep(c(0.5, 1), each=2000),
                mean=rep(c(0, 10, 2, 12), each=1000))
d$x <- rnorm(nrow(d), d$mean, d$v2)
Run Code Online (Sandbox Code Playgroud)

使用nint=30?

p1 <- histogram(~x|v1, d, groups=v2, nint=30,
                scales=list(relation='free'), type='percent',
                panel = function(...) {
                  panel.superpose(..., panel.groups=panel.histogram, 
                                  col=c('red', 'blue'), alpha=0.3)
                })
p1
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

上面,组之间的 bin 是一致的,但是 (1) x 轴限制在面板之间共享(当 x 轴范围在面板间变化很大时有问题 - 我真的希望为每个面板单独计算 30 个 bin), (2) y 轴在使用时狭窄type='percent'(应该进一步延伸)。

使用breaks=30?

p2 <- histogram(~x|v1, d, groups=v2, breaks=30,
                scales=list(relation='free'), type='percent',
                panel = …
Run Code Online (Sandbox Code Playgroud)

plot r histogram lattice

7
推荐指数
1
解决办法
214
查看次数

标签 统计

lattice ×10

r ×10

plot ×5

ggplot2 ×2

boxplot ×1

graph ×1

histogram ×1

interaction ×1