我和一位同事正在分享一些模型的不同项目.所以,我们通过git子模块共享模型.
此外,我们希望能够共享迁移:
通过这种方式,我的同事的迁移将在db/migrate/other_db
我的项目的文件夹中.
如何配置rails迁移以在此额外文件夹中运行迁移?
我正在写一个包但是一个持续的R CMD check
警告阻止我完成包并将其发布到CRAN.我roxygen2
用于内联文档,尽管这可能不是错误的根本原因.
如果您知道如何删除此警告,我很可能会找到一种方法来使用它roxygen2
.
如何 从包裹检查中删除警告Functions/methods with usage in documentation object ... but not in code
?
该R CMD check
警告:
* checking for code/documentation mismatches ... WARNING
Functions/methods with usage in documentation object 'names<-' but not in code:
names<-
Run Code Online (Sandbox Code Playgroud)
功能和roxygen
文档:
#' Updates names and variable.labels attribute of surveydata.
#'
#' @name names<-
#' @rdname names
#' @aliases names<- names<-.surveydata
#' @param x surveydata object
#' @param value New …
Run Code Online (Sandbox Code Playgroud) 该包data.table
具有一些特殊的语法,需要使用表达式作为i
和j
参数.
这对于一个接受并将参数传递给数据表的写函数有一些影响,正如常见问题解答第1.16节中所解释的那样.
但我无法弄清楚如何采取这一额外的水平.
这是一个例子.假设我想编写一个包装函数foo()
,它对我的数据进行特定的汇总,然后是第二个plotfoo()
调用foo()
并绘制结果的包装器:
library(data.table)
foo <- function(data, by){
by <- substitute(by)
data[, .N, by=list(eval(by))]
}
DT <- data.table(mtcars)
foo(DT, gear)
Run Code Online (Sandbox Code Playgroud)
好的,这是有效的,因为我得到了我的表格结果:
by N
1: 4 12
2: 3 15
3: 5 5
Run Code Online (Sandbox Code Playgroud)
现在,我在写作的时候尝试的plotfoo()
却是一样但是我悲惨地失败了:
plotfoo <- function(data, by){
by <- substitute(by)
foo(data, eval(by))
}
plotfoo(DT, gear)
Run Code Online (Sandbox Code Playgroud)
但这次我收到一条错误消息:
Error: evaluation nested too deeply: infinite recursion / options(expressions=)?
Run Code Online (Sandbox Code Playgroud)
好的,所以eval()
导致了问题.我们将其删除:
plotfoo <- function(data, by){
by …
Run Code Online (Sandbox Code Playgroud) R支持函数重载吗?
我想做的事情是:
g <- function(X,Y) { # do something and return something }
g <- function(X) { # do something and return something}
Run Code Online (Sandbox Code Playgroud) 我刚刚开始使用Ubuntu并希望在R中编程.我从终端成功安装了最新版本的R(目前为2.12.2).然后我尝试运行以下命令:
> install.packages("XML")
Installing package(s) into ‘/usr/local/lib/R/site-library’
(as ‘lib’ is unspecified)
Warning in install.packages("XML") :
'lib = "/usr/local/lib/R/site-library"' is not writable
Would you like to create a personal library
'~/R/i686-pc-linux-gnu-library/2.12'
to install packages into? (y/n)
Run Code Online (Sandbox Code Playgroud)
我应该创建个人目录还是错过了允许我写入站点库的某个步骤.
提前致谢.
R按照我描述为字母而非ASCII的顺序对字符向量进行排序.
例如:
sort(c("dog", "Cat", "Dog", "cat"))
[1] "cat" "Cat" "dog" "Dog"
Run Code Online (Sandbox Code Playgroud)
三个问题:
在R中,一个非常简洁的特性是函数的源代码可以作为工作空间中的对象访问.
因此,如果我想知道源代码,例如,grep()
我只需键入grep
控制台并阅读代码即可.
同样,我可以grep
通过?grep
在控制台中输入来阅读文档.
问题:如何获取函数文档的源代码?换句话说,我在哪里可以找到.rd文件?
我发现研究精心编写的代码的来源是学习习语的一种很好的方法.现在我想研究如何为一些非常具体的案例编写文档.我无法在R安装中找到任何基本R功能的文档文件.也许我一直在寻找错误的地方.
我的一般问题是,当使用iGraph生成图形时,我松开了顶点名称/标签(这里不确定正确的单词).
我有一个二分网络的边缘列表IC_edge_sub,如下所示:
new_individualID new_companyID
1 <NA> 10024354c
3 10069415i 2020225c
4 10069415i 16020347c
5 10069272i 2020225c
6 10069272i 16020347c
7 10069274i 2020225c
Run Code Online (Sandbox Code Playgroud)
然后我创建一个图元素:
IC_projected_graphs <- bipartite.projection(IC_twomode, types =
is.bipartite(IC_twomode)$type)
Run Code Online (Sandbox Code Playgroud)
然后折叠它以仅识别companyID之间的连接
IC_projected_graphs <- bipartite.projection(IC_twomode, types =
is.bipartite(IC_twomode)$type)
Run Code Online (Sandbox Code Playgroud)
然后得到邻接矩阵:
CC_matrix_IC_based <- get.adjacency(CC_graph_IC_based); CC_matrix_IC_based
Run Code Online (Sandbox Code Playgroud)
在iGraph中,节点编号从零开始,因此矩阵命名也从零开始.但是,我现在需要在最终的CC_matrix_IC_based矩阵中的edgelist的第二列中指定的"new_companyID".
你能帮助我如何使用原始边缘列表中的信息在最终的邻接矩阵中放入rownames和colnames吗?
我用Google搜索并搜索了堆栈流,但无法找到合适的答案.非常感谢你的帮助
我们想得到一个如下所示的数组:
1,1,1,2,2,2,3,3,3,4,4,4,1,1,1,2,2,2,3,3,3,4,4,4,1,1,1,2,2,2,3,3,3,4,4,4
Run Code Online (Sandbox Code Playgroud)
最简单的方法是什么?
我正在寻找一种使用R中的正则表达式返回引用的优雅方法.我解释一下:
假设我想找到以月名开头的字符串:
x <- c("May, 1, 2011", "30 June 2011")
grep("May|^June", x, value=TRUE)
[1] "May, 1, 2011"
Run Code Online (Sandbox Code Playgroud)
这有效,但我真的想隔离月份(即"五月",而不是整个匹配的字符串.
因此,可以使用参数gsub
返回后向引用substitute
.但这有两个问题:
gsub
返回原始字符串.这显然不是我想要的:代码和结果:
gsub(".*(^May|^June).*", "\\1", x)
[1] "May" "30 June 2011"
Run Code Online (Sandbox Code Playgroud)
我可以通过执行各种额外的检查来编写解决方法,但这很快变得非常混乱.
为了清楚起见,期望的结果应该是:
[1] "May" NA
Run Code Online (Sandbox Code Playgroud)
有没有一种简单的方法来实现这一目标?