使用legend()函数可以使点和线成为不同的颜色吗?我觉得我错过了一些相当明显的东西.该pt.bg选项可以更改背景颜色,但我没有看到一个pt.fg选项
当您分别使用不同颜色的lines()和points()命令并希望图例表示绘制的内容时,会出现这种情况.
我认为可能有merge选项,但我显然不太明白这是什么.
例:
plot( 0, type="n", xlim=c(0,5), ylim=c(0,5) )
A <- matrix( c( c(1,2,3,4), c(2,1,2,4)), ncol=2 )
B <- matrix( c( c(1,2,3,4), c(1,3,3,2)), ncol=2 )
lines( A, col="red" )
points( A, col="blue", pch=15 )
lines( B, col="green" )
points( B, col="purple", pch=17 )
legend( x="topleft",
legend=c("Red line, blue points","Green line, purple points"),
col=c("red","green"), lwd=1, lty=c(1,2),
pch=c(15,17) )
legend( x="bottomleft",
legend=c("Red line","blue points","Green line","purple points"),
col=c("red","blue","green","purple"), lwd=1, lty=c(1,NA,2,NA),
pch=c(NA,15,NA,17) )
legend( x="left",
legend=c("Red line, …Run Code Online (Sandbox Code Playgroud) 给定数据框DF,将DF作为R对象保存save()并与同事共享是很简单的.但是,通常需要附加一份单独的文档来解释精确的列定义.是否有(标准/通用)方法将此信息包含在对象中?
如果我们为DF构建了一个包,我们可以创建一个帮助页面来解释所有这些细节,比如内置数据集.因此,数据和解释始终可用,我们只需共享一个包源文件.但是,构建一个包似乎过度杀死了这个问题.(作为附带好处,我们将获得对数据集的版本控制,因为更改将增加包版本号).
Hmisc包中包含该label()函数,该函数向对象添加新属性.包括用于子集化/创建/ etc data.frames的相关方法以传播新属性(因为属性通常被大多数函数删除).
设置属性是编写包的明显替代方法,我们可以添加任意命名的属性.
一个简短的例子:
DF <-
structure(list(Gender = structure(c(1L, 1L, 1L, 2L, 2L, 2L), .Label = c("Female",
"Male"), class = "factor"), Date = structure(c(15518, 15524,
15518, 15526, 15517, 15524), class = "Date"), Dose = c(15, 10,
11, 11, 12, 14), Reaction = c(7.97755180189919, 11.7033586194156,
9.959784869289, 6.0170950790238, 1.92480908119655, 7.70265419443507
)), .Names = c("Gender", "Date", "Dose", "Reaction"), row.names = c(NA,
-6L), class = "data.frame")
library(Hmisc)
label(DF$Reaction) <- "Time to react to eye-dot test, in seconds, …Run Code Online (Sandbox Code Playgroud) 请考虑以下数据框:
TEST <- structure(list(Value = c(NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
Select = structure(c(2L, 1L, 3L, 2L, 2L, 1L, 1L,
2L, 1L, 1L, 3L, 3L), .Label = c("A", "B", "C"), class = "factor"),
A = c(5L, 5L, 4L, 3L, 4L, 3L, 5L, 3L, 3L, 4L, 5L, 4L),
B = c(10L, 8L, 7L, 6L, 3L, 8L, 8L, 7L, 8L, 9L, 11L, 8L),
C = c(0L, 1L, 3L, 2L, 0L, 3L, 0L, 2L, 0L, 1L, 1L, …Run Code Online (Sandbox Code Playgroud) 我记得(base?)R中的一个函数可以生成一个如下的矩阵:
structure(c(1L, 2L, 3L, 4L, 5L, 1L, 2L, 3L, 4L, 5L, 1L, 2L, 3L,
4L, 5L, 1L, 2L, 3L, 4L, 5L), .Dim = c(5L, 4L))
Run Code Online (Sandbox Code Playgroud)
显示为:
>
[,1] [,2] [,3] [,4]
[1,] 1 1 1 1
[2,] 2 2 2 2
[3,] 3 3 3 3
[4,] 4 4 4 4
[5,] 5 5 5 5
Run Code Online (Sandbox Code Playgroud)
或者列形式:
>
[,1] [,2] [,3] [,4]
[1,] 1 2 3 4
[2,] 1 2 3 4
[3,] 1 2 3 4
[4,] 1 2 …Run Code Online (Sandbox Code Playgroud)