有没有办法将现有data.frame中的行名和列名连接到一个新的数据框中.例如,我有(A,B,C)的列名和(1,2,3)的行名,我想将它们组合成一个3x3矩阵[A1,B1,C1; A2,B2,C2; A2,B2,C2].谢谢你的帮助
我正在尝试将形状美学映射添加到现有的绘图中,但我收到下面的错误.有没有不同的方法来实现这一目标?如果我shape=Port从函数调用中删除,一切都按预期工作.
p <- ggplot(data=w, aes(OAD,RtgValInt,color=dt,shape=Port)) +
geom_jitter(size=3, alpha=0.75) +
scale_colour_gradient(limits=c(min(w$dt),
max(w$dt)),
low="#9999FF", high="#000066") +
geom_point(data=data.frame(OAD=w$OAD[1],
RtgValInt=w$RtgValInt[1]),
color="red", size=3)
print(p)
Error in eval(expr, envir, enclos) : object 'Port' not found
Run Code Online (Sandbox Code Playgroud)
数据框w包括以下数据.
Date Port OAD RtgValInt dt
12/31/2010 Grp1 1.463771 1.833333 14974
12/31/2010 Grp2 1.193307 2.071429 14974
11/30/2010 Grp1 1.454115 1.833333 14943
11/30/2010 Grp2 1.127755 2.071429 14943
10/29/2010 Grp1 1.434965 2.000000 14911
10/29/2010 Grp2 1.055758 2.071429 14911
09/30/2010 Grp1 1.441773 2.000000 14882
09/30/2010 Grp2 1.077799 2.071429 14882
Run Code Online (Sandbox Code Playgroud) 是否可以通过审美来改变绘图的颜色渐变?我正在使用与下面给出的线类似的代码生成一个图,并且在某些情况下发现并不总是很容易区分不同的组.例如,在下面的图表中,如果我可以让A组点使用白蓝渐变而B组点使用白红渐变,则更容易区分结果.
data <- data.frame(x=c(1,2,3,4,5,6,1,2,3,4,5,6),
y=c(1,2,3,4,5,6,1,2,3,4,5,6), grp=c(rep("A",6),rep("B",6)),
dt=c("2010-06-30","2010-05-31","2010-04-30",
"2010-03-31","2010-02-26","2010-01-29","2010-06-30",
"2010-05-31","2010-04-30",
"2010-03-31","2010-02-26","2010-01-29"))
p <- ggplot(data, aes(x,y,color=as.integer(as.Date(data$dt)))) +
geom_jitter(size=4, alpha=0.75, aes(shape=grp)) +
scale_colour_gradient(limits=as.integer(as.Date(c("2010-01-29","2010-06-30"))),
low="white", high="blue") +
scale_shape_discrete(name="") +
opts(legend.position="none")
print(p)
Run Code Online (Sandbox Code Playgroud) 在下面的例子中,我希望最近的点是更深的蓝色阴影(或者更不透明).
data <- data.frame(x=c(1,2,3,4,5,6,7,8,9,10,11,12),
y=c(1,2,3,4,5,6,7,8,9,10,11,12),
dt=c("2010-12-31","2010-11-30","2010-10-29","2010-09-30",
"2010-08-31","2010-07-30","2010-06-30","2010-05-31","2010-04-30",
"2010-03-31","2010-02-26","2010-01-29"))
p <- ggplot(data, aes(x,y,color=dt)) + geom_point() +
scale_colour_gradient(limits=c("2010-01-29","2010-12_31"),
low="white", high="blue")
print(p)
Run Code Online (Sandbox Code Playgroud)