我经常编写R代码,例如,我测试向量的长度,数据帧中的行数或矩阵的维数if (length(myVector) == 1).在一些基本的R代码中,我注意到在这种比较中,值被明确地表示为整数,例如通常使用'L'后缀if (nrow(data.frame) == 5L).显式整数有时也用于函数参数,例如cor函数中的这些语句:x <- matrix(x, ncol = 1L)和apply(u, 2L, rank, na.last = "keep").什么时候应该在R中明确指定整数?不指定整数会产生任何潜在的负面后果吗?
我正在尝试将二进制运算符函数添加到我的包中,但它没有加载包.例如,我定义此函数并将其保存为名为'wo.R'的文件
`%wo%` <- function(x, y) {
x[!x %in% y]
}
Run Code Online (Sandbox Code Playgroud)
并创建文档文件'wo.Rd'
\name{\%wo\%}
\alias{\%wo\%}
\title{Without}
\description{Elements in one vector without matching elements in a second vector.}
\usage{x \%wo\% y}
\arguments{
\item{x}{A vector.}
\item{y}{A vector.}
}
\value{A vector.}
\author{me, based on example in the \code{\link{match}} function documentation.}
\examples{
(1:10) \%wo\% c(3,7,12)
}
Run Code Online (Sandbox Code Playgroud)
当我运行R CMD check myPackage它时,在检查文档示例时会出现此错误:Error: could not find function "%wo%" Execution halted.我可以删除该示例,并成功安装我的包,但%wo%函数未加载我的包.我可以在R会话中获取'wo.R'文件并且它可以工作.我也可以定义函数wo <- function(x, y) x[!x %in% y],似乎工作正常.我搜索了其他软件包的源代码,比如'运营商',我的源代码和文档文件似乎与它们一致,但我显然忽略了一些东西.
我正在生成不同组所面对的数据点的binhex图.每个组可能具有不同的总点数,因此,不是每个bin值是绝对点数,我希望它是该组中总点数的百分比.这是我现在正在尝试的:
d <- data.frame(grp= c(rep('a',10000), rep('b',5000)),
x= rnorm(15000),
y= rnorm(15000))
ggplot(d, aes(x= x, y= y)) +
stat_binhex(aes(fill= ..count../sum(..count..)*100)) +
facet_wrap(~grp)
Run Code Online (Sandbox Code Playgroud)
它是否正确?是sum(..count..)按每个方面生成总分数(组'a'为10000,组'b'为5000),还是两个方面产生15000?