我想卸载一个包而不必重新启动R(主要是因为重新启动R,因为我尝试了不同的,冲突的包令人沮丧,但可以想象这可以在一个程序中使用一个函数然后另一个 - 虽然命名空间引用可能是一个更好的主意用于此用途).
?library
没有显示任何可以卸载包的选项.
有一种建议是detach
可以卸载包,但以下两个失败:
detach(vegan)
Run Code Online (Sandbox Code Playgroud)
错误
detach(vegan)
:无效name
参数
detach("vegan")
Run Code Online (Sandbox Code Playgroud)
错误
detach("vegan")
:无效name
参数
那么如何卸载包呢?
我在一个关于回归建模的教程中看到了以下命令:
myFormula <- Species ~ Sepal.Length + Sepal.Width + Petal.Length + Petal.Width
Run Code Online (Sandbox Code Playgroud)
这个命令究竟做了什么,~
(tilde)在命令中的作用是什么?
Julia看起来很有希望进行快速和语法理智的计算(例如这里),但我怀疑它在整体统计工作流程方面还不会在R附近.所以我想在C++主要用于R程序的地方使用它:优化代码的慢速部分.然而,在我花时间学习Julia之前,我很好奇在R代码中嵌入Julia片段的设施是什么.
所以:
我想从R调用Julia,就像Rcpp现在允许从R内部调用C++一样.我不想从朱莉娅那里打电话给R. (所以RCall.jl不起作用)
在回答另一个问题时,@ Mayk发布了以下解决方案:https://stackoverflow.com/a/10432263/636656
dat <- structure(list(product = c(11L, 11L, 9L, 9L, 6L, 1L, 11L, 5L,
7L, 11L, 5L, 11L, 4L, 3L, 10L, 7L, 10L, 5L, 9L, 8L)), .Names = "product", row.names = c(NA, -20L), class = "data.frame")
`levels<-`(
factor(dat$product),
list(Tylenol=1:3, Advil=4:6, Bayer=7:9, Generic=10:12)
)
Run Code Online (Sandbox Code Playgroud)
哪个产生输出:
[1] Generic Generic Bayer Bayer Advil Tylenol Generic Advil Bayer Generic Advil Generic Advil Tylenol
[15] Generic Bayer Generic Advil Bayer Bayer
Run Code Online (Sandbox Code Playgroud)
这只是矢量的打印输出,所以要存储它你可以做得更加困惑:
res <- `levels<-`(
factor(dat$product),
list(Tylenol=1:3, Advil=4:6, Bayer=7:9, Generic=10:12)
)
Run Code Online (Sandbox Code Playgroud)
显然这是对level函数的某种调用,但我不知道这里做了什么.这种巫术的术语是什么,我如何在这个领域增加我的魔法能力?
data.table
对象现在有一个:=运算符.是什么让这个运算符与所有其他赋值运算符不同?此外,它的用途是什么,它的速度有多快,什么时候应该避免?
我现在正在编写一个地理编码功能,它依赖于Bing Maps Key.显然我宁愿不发布我的,并且没有一个例子就失败了.
如何包含一个示例供用户手动运行,但没有在执行期间执行R CMD check
?
朱莉娅将性能与R进行比较的例子似乎特别令人费解. https://github.com/JuliaLang/julia/blob/master/test/perf/perf.R
你可以从下面的两种算法中获得最快的性能(最好解释你改变了什么以使它更像R)?
## mandel
mandel = function(z) {
c = z
maxiter = 80
for (n in 1:maxiter) {
if (Mod(z) > 2) return(n-1)
z = z^2+c
}
return(maxiter)
}
mandelperf = function() {
re = seq(-2,0.5,.1)
im = seq(-1,1,.1)
M = matrix(0.0,nrow=length(re),ncol=length(im))
count = 1
for (r in re) {
for (i in im) {
M[count] = mandel(complex(real=r,imag=i))
count = count + 1
}
}
return(M)
}
assert(sum(mandelperf()) == 14791)
## quicksort ##
qsort_kernel = function(a, …
Run Code Online (Sandbox Code Playgroud) 作为一个更大问题的一部分(为多边形ID相同的情况添加一个,makeUniqueIDs
参数rbind.SpatialPolygonsDataFrame
),我遇到了来自rbind的这个奇怪的消息:
> do.call("rbind",xd.small)
Error in match.names(clabs, names(xi)) :
names do not match previous names
Run Code Online (Sandbox Code Playgroud)
我能找到的唯一其他信息是这个问题,这让我相信这rbind
也是问题的根源.
我当然可以编写自己的类似rbind的函数,但可能这种match.names
检查是有原因的,我很好奇它是什么.
我是R的新手,我在输入一些代码时输入了一个类型,现在我没有得到">"提示,而是得到了一个"+"提示符.我似乎陷入某种寻找输入的功能,但我似乎无法摆脱它.我认为必须有一个更好的方法来解决这个问题,然后关闭R并重新运行我的脚本,但我无法在谷歌上找到任何东西(可能是因为我不知道正确的搜索条件).
谢谢你的帮助,对不起,这是一个微不足道的问题
我输入的代码如下:
> fit = lm(x~`y)
+ fit = lm(x~y)
+ fit
+ summary(fit)
+
+
+ end
+ ;
+ break
+ )
+
+
+
+ ? ?
+ ?
+ quit()
+
+ quit
+ break()
+ abline(b0hat,b1hat)
+ return(null)
+
Run Code Online (Sandbox Code Playgroud) 我搜索了一个参考,以了解R中的替换函数,但我还没有找到.我试图理解R中替换函数的概念.我有下面的代码,但我不明白它:
"cutoff<-" <- function(x, value){
x[x > value] <- Inf
x
}
Run Code Online (Sandbox Code Playgroud)
然后我们用以下方式调用cutoff:
cutoff(x) <- 65
Run Code Online (Sandbox Code Playgroud)
谁能解释R中的替换功能是什么?
r ×10
r-faq ×3
julia ×2
colon-equals ×1
data.table ×1
levels ×1
optimization ×1
package ×1
roxygen2 ×1
types ×1