小编Eva*_*Aad的帖子

安装devtools包时出现问题

我希望使用这个devtools包.我运行以下命令:

> install.packages("devtools", dependencies = TRUE)
....
> library(devtools)
Error in library(devtools) : there is no package called ‘devtools’
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

编辑:以下是重新install.packages启动会话后重新运行命令的结果.

> install.packages("devtools", dependencies = TRUE)
Installing package into ‘/home/evanaad/R/x86_64-pc-linux-gnu-library/3.0’
(as ‘lib’ is unspecified)
--- Please select a CRAN mirror for use in this session ---
Warning: dependencies ‘roxygen2’, ‘BiocInstaller’, ‘rstudio’ are not available
also installing the dependencies ‘httr’, ‘RCurl’

trying URL 'http://cran.at.r-project.org/src/contrib/httr_0.2.tar.gz'
Content type 'application/x-gzip' length 50183 bytes (49 Kb)
opened URL
==================================================
downloaded 49 …
Run Code Online (Sandbox Code Playgroud)

r devtools package

149
推荐指数
10
解决办法
13万
查看次数

即使我安装了较新的版本,IDLE警告旧的TCL版本

ActiveTcl8.6.1.1.297588-macosx10.5-i386-x86_64-threaded在OS X 10.9.1上安装了.但是,当我idle3从终端运行启动IDLE时,IDLE窗口中会显示以下警告:

Python 3.3.3 (v3.3.3:c3896275c0f6, Nov 16 2013, 23:39:35) 
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "copyright", "credits" or "license()" for more information.
>>> WARNING: The version of Tcl/Tk (8.5.9) in use may be unstable.
Visit http://www.python.org/download/mac/tcltk/ for current information.
Run Code Online (Sandbox Code Playgroud)

为什么我安装的较新的ActiveTcl版本无法被IDLE识别?我怎么能纠正这个?

编辑:更多细节.

$ echo $PATH
/Library/Frameworks/Python.framework/Versions/3.3/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin

$ which tclsh
/usr/bin/tclsh

$ ls -l /usr/bin/tclsh*
lrwxr-xr-x  1 root  wheel  17 Jan 15 10:45 /usr/bin/tclsh -> /usr/bin/tclsh8.6
lrwxr-xr-x  1 root  wheel  67 Oct …
Run Code Online (Sandbox Code Playgroud)

macos tcl python-idle

18
推荐指数
3
解决办法
2万
查看次数

`NextMethod()`的内部工作原理

我想弄清楚它是如何NextMethod()工作的.我在S3类系统中找到的最详细的解释是在Chambers&Hastie(edts.)的S中的统计模型(1993,Chapman&Hall)中,但是我发现有关NextMethod调用的部分有点模糊.以下是我试图理解的相关段落(第268-269页).

现在转向由于调用而调用的方法 NextMethod(),这些方法就好像它们是通过特殊调用从前一个方法调用的.对继承方法的调用中的参数在数量,顺序和实际参数名称上与在调用当前方法时的参数相同(因此,在对泛型的调用中).但是,参数的表达式是当前方法的相应形式参数的名称.例如,假设表达式print(ratings)已调用该方法print.ordered().当这个方法调用时 NextMethod(),这相当于对print.factor()表单的调用print.factor(x),这里xx框架中的 print.ordered().如果多个参数与形式参数" ..." 匹配,那么这些参数在对继承方法y特殊名称" ..1"," ..2"等的调用中表示.评估者识别这些名称并对其进行适当处理(参见第476页的示例).

这个相当微妙的定义的存在是为了确保S中函数调用的语义尽可能干净地使用方法(比较Becker,Chambers和Wilks的The New S Language,第354页).特别是:

  • 参数从当前方法传递到继承方法,NextMethod()并调用它们当前的当前值.
  • 懒惰的评估继续有效; 未经评估的论点仍未得到评估.
  • 继承的方法中缺少缺少的参数.
  • 通过 " ..."形式参数传递的参数以正确的参数名称到达.
  • 框架中与调用中的实际参数不对应的对象将不会传递给继承的方法."

就参数而言,继承过程基本上是透明的.

我觉得困惑的两点是:

  1. 什么是"当前方法",什么是"以前的方法"?
  2. "调用继承方法的参数","参数的表达式"和"当前方法的相应形式参数的名称"之间有什么区别?

一般来说,如果有人可以请以一种清醒的方式重述上述段落中的描述,我会很感激.

oop methods inheritance r parametric-polymorphism

11
推荐指数
2
解决办法
1150
查看次数

使用空索引索引列表

在Hadley Wickam的Advanced R中,使用空索引索引数据帧的技术已多次,但只是顺便解释.我试图弄清楚用空索引索引列表的规则.请考虑以下四个陈述.

> (l <- list(a = 1, b = 2))
$a
[1] 1

$b
[1] 2

> (l[] <- list(c = 3))
$c
[1] 3

> l
$a
[1] 3

$b
[1] 3

> l[]
$a
[1] 3

$b
[1] 3
Run Code Online (Sandbox Code Playgroud)

问题:

  1. 为什么第二个语句的输出与第三个语句的输出不同?赋值是否应该返回被赋值的对象,在这种情况下,第二个语句应该产生与第三个相同的输出?
  2. 为什么第二个语句中的赋值会导致第三个语句后显示的输出?分配给空旷索引列表的规则是什么?
  3. 第四个陈述怎么产生显示的输出?当一个列表不在作业的左侧时,有哪些规则可以为具有空索引的列表编制索引?

indexing r list

8
推荐指数
1
解决办法
349
查看次数

UseMethod调用的方法范围

对比以下两个代码段:

1)

> y <- 1
> g <- function(x) { 
+   y <- 2
+   UseMethod("g")
+ }
> g.numeric <- function(x) y
> g(10)
[1] 2
Run Code Online (Sandbox Code Playgroud)

2)

> x <- 1
> g <- function(x) {
+   x <- 2
+   UseMethod("g")
+ }
> g.numeric <- function(y) x
> g(10)
[1] 1
Run Code Online (Sandbox Code Playgroud)

在第一个片段中,g.数字的自由变量(即"y")在g的本地环境中进行评估,而在第二个片段中,g.numeric的自由变量(即"x")在全局环境中进行评估.怎么会这样?

oop generics r

7
推荐指数
1
解决办法
64
查看次数

了解.git/config的'remote'和'branch'部分

这里的内容remotebranch我的部分.git/config文件.

[remote "origin"]  
    url = https://EvanAad@bitbucket.org/EvanAad/bitbucketstationlocations.git  
    fetch = +refs/heads/*:refs/remotes/origin/*  
[branch "master"]  
    remote = origin  
    merge = refs/heads/master
Run Code Online (Sandbox Code Playgroud)

这些部分内容的含义和目的是什么,特别是fetchmerge子部分?Git如何使用这些信息来指导其运作?

git git-merge git-config git-fetch git-remote

7
推荐指数
2
解决办法
3777
查看次数

"Reduce"会将未经请求的属性添加到结果中

对比以下两个代码段:

1.

> a <- cbind(1,2)
> a
     [,1] [,2]
[1,]    1    2
> str(a)
 num [1, 1:2] 1 2
Run Code Online (Sandbox Code Playgroud)

2.

> b <- Reduce(cbind, list(1,2))
> b
     init  
[1,]    1 2
> str(b)
 num [1, 1:2] 1 2
 - attr(*, "dimnames")=List of 2
  ..$ : NULL
  ..$ : chr [1:2] "init" ""
Run Code Online (Sandbox Code Playgroud)

根据Reduce帮助页面,我希望a并且b是相同的,但他们显然不是很好.为什么?

functional-programming r

4
推荐指数
1
解决办法
49
查看次数

Emacs正则表达式:替换乳胶方程中的字符串

我想将所有在LaTeX方程式中出现的所有字母'n'替换为字母'N'。可以假定文档中的LaTeX方程的格式为$ ... $

也将接受perl或ubuntu或Windows上随时可用的任何其他语言/工具/应用程序的解决方案。

regex emacs latex

3
推荐指数
2
解决办法
1222
查看次数

"调用"中空参数的表示

什么样的动物是空洞的争论?考虑以下代码.

> f <- function(...) match.call()
> l <- as.list(f(,3))
> l
[[1]]
f

[[2]]


[[3]]
[1] 3

> typeof(l[[2]])
[1] "symbol"

> identical(l[[2]],``)
Error: attempt to use zero-length variable name

> as.character(l[[2]])
[1] ""
Run Code Online (Sandbox Code Playgroud)

那是什么巫术?

reflection r argument-passing

1
推荐指数
1
解决办法
2340
查看次数