我希望测试几个stopifnot()我放入我构建的函数中。它正在检查length(),is.numeric(),is.finite()等。我需要在R中创建一个数据集,我可以测试所有这些数据集。我正在努力创建一个有效的表(或类似的东西),以便能够测试。
x <- dataset #this is what I need to make
myfun <- function(x)
{
stopifnot(length(x) > 0)
stopifnot(is.numeric(x))
stopifnot(is.finite(x))
return(123)
}
答案 0 :(得分:1)
我并不完全清楚你要做什么。
在这里,我生成了一个示例list
,data.frame
和vector
,并根据这些不同的输入对象显示myfun
的输出。
# Sample list
lst <- list(
a = NA,
b = "text",
c = 1:10);
# Sample dataframe
df <- data.frame(
a = 1:10,
b = letters[1:10]);
# Sample vector
vec <- c(1:5, Inf, 7:10);
myfun(lst);
#Error: is.numeric(x) is not TRUE
myfun(df);
#Error: is.numeric(x) is not TRUE
myfun(vec);
#Error: is.finite(x) are not all TRUE
显然,您可以更改输入对象以测试不同的条件。