我想提请幂律函数依赖于三个参数:x,a和gamma.该函数如下所示:
powerlaw <- function(x, a, gamma){
a*(x**(-gamma))
}
Run Code Online (Sandbox Code Playgroud)
现在我想绘制这个但我无法弄清楚如何指定a和gamma告诉R使用所选范围x.我试过这个:
require(ggplot2)
qplot(c(1,10), stat="function", fun=powerlaw(x, a=1, gamma=1), geom="line")
Run Code Online (Sandbox Code Playgroud)
但它说
Error in (x^(-gamma)): x is missing
Run Code Online (Sandbox Code Playgroud)
当然,以下代码通过修复a和gamma:
powerlaw1 <- function(x){
1*(x**(-1))
}
qplot(c(1,10), stat="function", fun=powerlaw1, geom="line")
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
我想这与水平和因素有关,但我不确定到底发生了什么:
test <- c(1,4,2,3,7,9,8)
testOrdered <- test[order(test)]
is.ordered(testOrdered)
is.ordered(rev(testOrdered))
Run Code Online (Sandbox Code Playgroud)
两次,函数返回FALSE,即没有向量排序.首先,我期望函数测试给定向量是否按"顺序"排序,即"已排序".回到定义后is.sorted,我假设is.ordered询问给定的向量是否按其级别的顺序排序.矢量测试(据我所知)不应该有任何级别,对吧?所以,"假"或多或少是正确的答案,我猜(但NaN会更好吗?).任何人都可以a)帮助我理解什么是正确的,什么时候会是真的,以及b)如何测试数字向量是否被排序/排序?