学生问我是否可以使用R重新创建类似下面的图:
这是从 这篇论文....
这种东西不是我的专长,但使用下面的代码我能够创建95%CI省略号并用它们绘制geom_polygon().我使用rphylopic包装从图像库中抓取的图像填充图像.
#example data/ellipses
set.seed(101)
n <- 1000
x1 <- rnorm(n, mean=2)
y1 <- 1.75 + 0.4*x1 + rnorm(n)
df <- data.frame(x=x1, y=y1, group="A")
x2 <- rnorm(n, mean=8)
y2 <- 0.7*x2 + 2 + rnorm(n)
df <- rbind(df, data.frame(x=x2, y=y2, group="B"))
x3 <- rnorm(n, mean=6)
y3 <- x3 - 5 - rnorm(n)
df <- rbind(df, data.frame(x=x3, y=y3, group="C"))
#calculating ellipses
library(ellipse)
df_ell <- data.frame()
for(g in levels(df$group)){
df_ell <- rbind(df_ell, cbind(as.data.frame(with(df[df$group==g,], ellipse(cor(x, y),
scale=c(sd(x),sd(y)), …Run Code Online (Sandbox Code Playgroud) R的基本图形系统中的几个函数,包括rect()和polygon(),通过它们angle=和density=参数支持交叉影线:
x = c(0, 0.5, 1, 0.5)
y = c(0.5, 1, 0.5, 0)
par(mar=c(0,0,0,0))
plot.new()
polygon(x, y, angle=45, density=10)
Run Code Online (Sandbox Code Playgroud)

如何将类似的交叉影线应用于由网格图形系统的grid.polygon()函数绘制的多边形:
library(grid)
grid.newpage()
grid.polygon(x,y)
Run Code Online (Sandbox Code Playgroud)

我看了说明文档中?grid.polygon和?gpar,并通过保罗具有Murrel的书在R图形有脱脂和迄今拿出空.我错过了一些明显的东西吗 如果没有,是否有一些简单的黑客可以使这成为可能?
我一直在研究使用计划对比而不是事后t检验.我通常使用ezANOVA(Type III ANOVA),但似乎ezANOVA目前没有提供进行计划对比的使用.
aov()另一方面是I型ANOVA(我不想讨论哪种类型最适合哪种类型的设计).使用aov()(在组设计之间)进行计划对比是直截了当的,但我希望在重复测量中进行III型方差分析并且坦率地ezANOVA具有更加用户友好的输出.
请记住ezANOVA,return_aov = TRUE是否有人知道如何使用提供的信息ezANOVA进行计划对比?
注意: return_aov = TRUE允许aov通过以下行中的某些内容访问输出:
summary.lm(ModelName$aov$'Participant:IndependentVariable1')
Run Code Online (Sandbox Code Playgroud)
以上参与者被添加到例如变量wid中ezANOVA:
wid = .(Participant)
Run Code Online (Sandbox Code Playgroud)
summary.lm()通常在呈现计划对比的结果时使用aov,在组间ANOVA之间授予,而不是重复测量.
我特别感兴趣的是使用输出来进行重复测量ANOVA的计划对比.
BOUNTY GOALS
我希望从这个奖励中实现的目标:
1)使用输出ezANOVA以重复测量ANOVA进行计划对比.
1A)使用输出ezANOVA来对主题ANOVA进行计划对比(这个应该相对容易,因此不是要求赏金的必要条件.)
任何虚拟数据都应该足够了,但这里提醒ezANOVA重复测量ANOVA 的格式:
ModelName <- ezANOVA(
data = DataSet,
dv = .(DependentVariable),
wid = .(Participant),
within = .(IndependentVariable1, IndependentVariable2),
type=3,
detailed = TRUE,
return_aov = TRUE)
Run Code Online (Sandbox Code Playgroud)
这是一个 …
假设我有一个带有序数变量和一个分类变量的数据:
set.seed(35)
df <- data.frame(Class = factor(rep(c(1,2),times = 80), labels = c("Math","Science")),
StudyTime = factor(sort(sample(1:4, 16, prob = c(0.25,0.3,0.3,0.15), replace = TRUE)),labels = c("<5","5-10","10-20",">20")),
Nerd = factor(sapply(rep(c(0.1,0.3,0.5,0.8),c(30,50,50,30)), function(x)sample(c("Nerd","NotNerd"),size = 1, prob = c(x,1-x))),levels = c("NotNerd","Nerd")))
Run Code Online (Sandbox Code Playgroud)
人们可以使用ggplotand geom_barwith x, filland alpha(or color) 美学映射来可视化这些变量之间的关系。
ggplot(data = df, aes(x = Class, fill = StudyTime, alpha = Nerd)) +
geom_bar(position = "dodge", color = "black") +
scale_alpha_manual(values = c(Nerd = 0.5, NotNerd = 1)) +
scale_fill_manual(values = …Run Code Online (Sandbox Code Playgroud) test <- data.frame(a=c(1,2,3,4), b=c(4,4,4,4))
ggplot(test, aes(x=a, y=b, fill=factor(a)))+geom_bar(stat='identity')
Run Code Online (Sandbox Code Playgroud)

但我也想在这个情节中添加texitiles,例如:

非常感谢你
由于ggplot2产生漂亮的彩色图形,但有时需要带有图案填充的黑白图形.我想知道如何做到这一点ggplot2,比如这段代码:
ggplot(diamonds, aes(cut, fill=cut)) + geom_bar()
Run Code Online (Sandbox Code Playgroud)
编辑
R图表的图案填充是否有任何功能?
我在ggplot2中创建了一个条形图,其中3个条形代表了3个选项之一的概率.
我想在条形图上添加一个粗体边框,显示正确的响应.
我还没有办法做到这一点.我可以改变所有酒吧的颜色,但不仅仅是那个.
附加的图像显示了我生成的图形网格.在leftCust列中,我希望所有在其下方带有"left"的条形都有一个粗体边框.
在rightCust列中,我想将粗体边框添加到右下方的所有条形图中.
最后在SIMCust专栏中,我希望所有带有SIM卡的栏都有一个粗体边框.
这基本上是为了突出正确的响应,并使其更容易解释图表显示的内容.

码:
dataRarrangeExpD <- read.csv("EXP2D.csv", header =TRUE);
library(ggplot2)
library("matrixStats")
library("lattice")
library("gdata")
library(plyr)
library(doBy)
library(Epi)
library(reshape2)
library(graphics)
#Create DataFrame with only Left-to-Right Visual Presentation
DataRearrangeD <- dataRarrangeExpD[, c("correct","Circle1", "Beep1","correct_response", "response", "subject_nr")]
#data_exp1$target_coh > 0
# Add new columns to hold choices made
DataRearrangeD[c("RightChoice", "LeftChoice", "SimChoice")] <- 0
DataRearrangeD$RightChoice <- ifelse(DataRearrangeD$response == "l", 1, 0)
DataRearrangeD$LeftChoice <- ifelse(DataRearrangeD$response == "a", 1, 0)
DataRearrangeD$SimChoice <- ifelse(DataRearrangeD$response == "space", 1, 0)
Exp2D.data = DataRearrangeD
# Construct …Run Code Online (Sandbox Code Playgroud) 有时,我需要为 geom_bar() / geom_col() 条(即黑白打印)使用某种图案或纹理。例如,某些人可能难以查看以下内容:
library(ggplot2)
library(dplyr, warn.conflicts=FALSE)
library(tidyr)
d <- iris %>%
group_by(Species) %>%
summarize_all(mean) %>%
gather(key, val, -Species)
ggplot(d, aes(x = Species, y = val, fill = key)) +
geom_col(position = "dodge") +
scale_fill_grey()
Run Code Online (Sandbox Code Playgroud)
Stack Overflow 上有很好的问题和答案(也在这里)。然而,解决方案很复杂,基本上涉及手工创建图案或纹理。我想知道是否有人有一般的想法或建议或以不同方式解决这个问题的新方法。通常,当我认为我不能用 ggplot2 做某事时,这意味着改变我对解决它的看法 - 但其他(罕见)时间它只是还没有实现!
我想创建一个不仅可以填充颜色而且还可以填充纺织品的geom_tile,这可能吗?
基本上,我有这个图:
但是在黑白模式下很难看出A组和B组之间的区别.因此,我认为如果它可以合作一些纺织品会更好.例如,对于值0.0到1.0,颜色从白色到黑色没有图案,对于-1.0到0.0,颜色是黑色到白色但是有它上面有某种图案/纺织品.
这有可能吗?
我从这个问题中受到启发:在gpplot2中使用纺织品填充barplot中的条形图 并想知道这是否可以应用于geom_tile()?
用于生成这些图表的代码:
library(reshape2)
library(ggplot2)
dat = rbind.data.frame(c(0.1038, 0.1224, 0.0906, 0.1859, -0.0811, "Group.A"),
c(-0.1551, -0.1829, -0.1354, -0.2776, 0.1212, "Group.B"))
colnames(dat) = c("A", "B", "C", "D", "E", "Group")
m = melt(sub.all, id.vars = "Group")
#Red/green
ggplot(m, aes(variable, factor(Group))) + geom_tile(aes(fill = value), colour = "white") +
scale_fill_gradient2(low = "green", high = "red", mid = "white", limits = c(-1,1)) + coord_flip()
#Black/white
ggplot(m, aes(variable, factor(Group))) + geom_tile(aes(fill = value), colour = "white") +
scale_fill_gradient2(low = …Run Code Online (Sandbox Code Playgroud)