自动启用R函数内的命令以使用其参数(形式)
下面是我编写的示例数据和函数(自动启用R函数内的命令以使用其参数(形式),r,R,下面是我编写的示例数据和函数(barplot2)。您会注意到,barplot2仅计算坐标,然后使用多边形命令。目前,我只为函数中的lwd和col指定了参数,这些参数可以传递给函数中的polygon命令。但是polygon命令已经能够接受多个参数,例如密度、边框、角度,等等。有没有合适的方法来编写我的函数,这样我就不必单独列举所有这些参数,并且仍然能够使用它们 set.seed(100) Mydata = rnorm(65) Year = 1950:2014 plot(Year, Mydata,
barplot2
)。您会注意到,barplot2
仅计算坐标,然后使用多边形
命令。目前,我只为函数中的lwd
和col
指定了参数,这些参数可以传递给函数中的polygon
命令。但是polygon
命令已经能够接受多个参数
,例如密度
、边框
、角度
,等等。有没有合适的方法来编写我的函数,这样我就不必单独列举所有这些参数
,并且仍然能够使用它们
set.seed(100)
Mydata = rnorm(65)
Year = 1950:2014
plot(Year, Mydata, type = 'p', pch = NA, xlab = "", ylab = "")
barplot2 <- function(x, y, lwd = 1, col = "grey"){
w = ((max(x) - min(x))/length(x)) * 0.75
for (i in 1:length(x)){
x1 = x[i] - w/2
x2 = x[i] + w/2
y1 = 0
y2 = y[i]
polygon(x = c(x1,x2,x2,x1), y = c(y1,y1,y2,y2), lwd = lwd, col = col)
}
}
barplot2(Year,Mydata)
set.seed(100)
Mydata=rnorm(65)
年份=1950:2014
绘图(年份,Mydata,类型='p',pch=NA,xlab=“”,ylab=“”)
barplot2使用..
可以将未分配的参数传递给函数我很确定@manotheshark有您想要的解决方案,但我将详细介绍一下
将函数更改为
barplot2 <- function(x, y, lwd = 1, col = "grey",...){
w = ((max(x) - min(x))/length(x)) * 0.75
for (i in 1:length(x)){
x1 = x[i] - w/2
x2 = x[i] + w/2
y1 = 0
y2 = y[i]
polygon(x = c(x1,x2,x2,x1), y = c(y1,y1,y2,y2), lwd = lwd, col = col,...)
}
}
只要保持这种方式,所有的参数都将被传递到多边形函数中。您可能正在寻找…
习惯用法。
Barplot2(Year,Mydata, angle=45,lty = 2)