我有一个似乎是一个非常基本的问题,但我无法解决它,因为我几乎没有使用过 ggplots2 ...我只想左边的图使用变量 color1 中的颜色,右边的图使用变量 color1 中的颜色变量 color2 中的颜色。这是一个 MWE:
library(reshape2)
library(ggplot2)
a.df <- data.frame(
id=c("a","b","c","d","e","f","g","h"),
var1=c(1,2,3,4,5,6,7,8), var2=c(21,22,23,24,25,26,27,28),
var3=c(56,57,58,59,60,61,62,63),
color1=c(1,2,"NONE","NONE",1,2,2,1),
color2=c(1,"NONE",1,1,2,2,"NONE",2)
)
a.dfm <- melt(a.df, measure.vars=c("var2","var3"))
ggplot(a.dfm, aes(x=value, y=var1, color=color1)) +
geom_point(shape=1) +
facet_grid(. ~ variable)
Run Code Online (Sandbox Code Playgroud)
多谢!
我有一个数据框,其中row.names对应于日期值.
$ cat data.csv
date actusers passive
2010-12-31 162 55
2011-01-01 291 167
2011-01-02 270 200
2011-01-03 341 269
2011-01-04 412 324
2011-01-05 409 309
2011-01-06 481 329
2011-01-07 511 358
2011-01-08 364 213
$ r
> data = read.csv("data.csv", row.names=1, sep='\t')
> data
actusers passive
2010-12-31 162 55
2011-01-01 291 167
2011-01-02 270 200
2011-01-03 341 269
2011-01-04 412 324
2011-01-05 409 309
2011-01-06 481 329
2011-01-07 511 358
2011-01-08 364 213
Run Code Online (Sandbox Code Playgroud)
如何通过指定日期范围来切片此数据框?
我正在尝试创建一个包含多个错误栏的条形图.像这样:http://flyordie.sin.khk.be/r/histogram%20error%20bars.PNG 我有以下数据集:http: //flyordie.sin.khk.be/r/output.csv
我尝试过使用ggplot2和格子图形,但没有找到任何适合我需要的东西.
我目前显示条形图的代码是:
data <- read.csv("c:/output.csv")
data
par(las=3)
barplot(data$PlateId,
height=data$HC.Maximum,
names.arg=data$PlateId,
col="lightblue")
Run Code Online (Sandbox Code Playgroud)
并显示最高的错误栏我使用此代码库(ggplot2)
limits <- aes(ymax = qc$HC.Maximum, ymin = qc$HC.Minimum)
p <- ggplot(qc, aes(colour=HC.Median,x=PlateId))
p + geom_bar(position="dodge")+ geom_errorbar(limits,position="dodge")
Run Code Online (Sandbox Code Playgroud)
但我不知道如何将它们放在同一图形上(如我的例子)
数据:
qc <- structure(list(row = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L), .Label = "Row", class = "factor"),
ID = 1:14, PlateId = c(35276L, 35279L, 35280L, 35281L, 35282L,
35290L, 35291L, 35292L, 35293L, 35294L, 35295L, 35296L, 35297L, …Run Code Online (Sandbox Code Playgroud) 我有一个数据框,其行对应参数的置信区间的上限和下限.如果有n行,则有n个变量.有两列,一列具有较低的置信区间限制"较低",一列具有"上限".行名称对应于变量名称.像这样的东西
lower upper
y1 7.923 9.22
y2 7.105 8.74
y3 8.185 9.54
y4 8.157 9.51
Run Code Online (Sandbox Code Playgroud)
我想创建一个图表,将这些置信区间显示为条形,最好在每一端都有法兰.
如果有人能告诉我一个很好的方法,我将不胜感激!
谢谢PS
我总共有95个潜在的预测变量,我想将这个数字减少到具有更强预测能力的变量.到目前为止,我的计划是编写一些代码:
我似乎无法使用95列创建单个输出表,并使用为循环的每次迭代生成的6列来写入每个单独的行.
那么有没有办法添加到使用以下创建的数组:
results <- array(NA,c(100000,95))
Run Code Online (Sandbox Code Playgroud)
列名由:
colnames(results)<-c(<inputdata>)
Run Code Online (Sandbox Code Playgroud) 我已经很好地了解了这个网站和其他人如何根据特定列中的值设置hjust和vjust.以下显示了数据的结构(但多年来是许多条目的简化子集):
YearStart <- c(2001,2002,2003,2001,2002,2003)
Team <- c("MU","MU","MU","MC","MC","MC")
Attendance <- c(67586,67601,67640,33058,34564,46834)
Position <- c(3,1,3,1,9,16)
offset <-c()
df <- data.frame(YearStart,Team,Attendance,Position)
Run Code Online (Sandbox Code Playgroud)
所以
> head(df)
YearStart Team Attendance Position
1 2001 MU 67586 3
2 2002 MU 67601 1
3 2003 MU 67640 3
4 2001 MC 33058 1
5 2002 MC 34564 9
6 2003 MC 46834 16
Run Code Online (Sandbox Code Playgroud)
我想acheive是vjust基于团队的价值.在下文中,MU将是vjust = 1并且MC将是vjust = -1,因此我可以从与其关联的数据组控制数据标签的位置.
我试图破解几个使用包含查找表的函数的例子(它不是直接的ifelse,因为我有很多Team的值)但我似乎无法通过aes方法将字符串传递给函数沿着这些方向:
lut <- list(MU=1,MC=-1)
vj <-function(x){lut[[x]]}
p=ggplot(df, aes(YearStart, Attendance, label=Position, …Run Code Online (Sandbox Code Playgroud) 什么是相当于R read.csv()函数的Python ,data.frame它返回了什么?
Python中是否有类似的数据结构?
我在R中的散点图中绘制了一些数字,并希望在数字中添加美元符号.我该怎么做?
x <- = c(100,200,300,400,500)
boxplot(x)
Run Code Online (Sandbox Code Playgroud) 我想通过 brewer 调色板使用scale_colour_brewer()和scale_fill_brewer()指定填充或颜色:
diagram <- diagram + scale_colour_brewer() + scale_fill_brewer()
Run Code Online (Sandbox Code Playgroud)
尽管如此,我仍然想手动设置图例标签及其条目。我以前这样做过:
diagram +
scale_colour_manual(name="Cumulative Percentage",
values=c("#d7191c","#fdae61","#000000","#abdda4","#2b83ba"),
labels=c("GN","GN1","GN2","GN3","GN4"))
Run Code Online (Sandbox Code Playgroud)
如何使用自动调色板功能,同时仍手动设置图例名称和条目标签?
谢谢!
我m在R中有一个矩阵,我想删除-Inf值,然后计算colMeans所有列.我怎么能在R中这样做?
m <- matrix(c(1, 3, 4, -Inf, 6, 7, 4, -Inf, 6, 0, 1, 3) , nrow = 3)
m
[,1] [,2] [,3] [,4]
[1,] 1 -Inf 4 0
[2,] 3 6 -Inf 1
[3,] 4 7 6 3
Run Code Online (Sandbox Code Playgroud) r ×10
ggplot2 ×4
plot ×2
arrays ×1
bar-chart ×1
colorbrewer ×1
diagram ×1
label ×1
loops ×1
python ×1
regression ×1
statistics ×1
time-series ×1