我有一个名为foo的脚本。R包含另一个脚本other。R,在同一个目录下:
#!/usr/bin/env Rscript
message("Hello")
source("other.R")
但我想让R找到另一个。R,不管当前工作目录是什么。
换句话说,就是foo。R需要知道自己的路径。我该怎么做呢?
我有一个名为foo的脚本。R包含另一个脚本other。R,在同一个目录下:
#!/usr/bin/env Rscript
message("Hello")
source("other.R")
但我想让R找到另一个。R,不管当前工作目录是什么。
换句话说,就是foo。R需要知道自己的路径。我该怎么做呢?
我想知道,删除一个包含所有文件的目录最简单的方法是什么?
我使用的是rmdir(PATH。“/”。美元价值);要删除一个文件夹,但是,如果里面有文件,我根本不能删除它。
我知道有些关于java.util.Date和Joda-Time的问题。但经过一番挖掘,我找不到一个关于java之间差异的帖子。time API (Java 8中新增,由JSR 310定义)和Joda-Time。
我听说Java 8是Java。time API比Joda-Time更干净,可以做更多的事情。但我找不到比较这两者的例子。
什么可以java。时间做不到的事,时间做不到? 什么可以java。时间胜过joda时间? java.time的性能更好吗?
下面的代码显然是错误的。有什么问题吗?
i <- 0.1
i <- i + 0.05
i
## [1] 0.15
if(i==0.15) cat("i equals 0.15") else cat("i does not equal 0.15")
## i does not equal 0.15
我想知道如何在ggplot上添加回归线方程和R^2。我的代码是:
library(ggplot2)
df <- data.frame(x = c(1:100))
df$y <- 2 + 3 * df$x + rnorm(100, sd = 40)
p <- ggplot(data = df, aes(x = x, y = y)) +
geom_smooth(method = "lm", se=FALSE, color="black", formula = y ~ x) +
geom_point()
p
任何帮助都将不胜感激。
我有一个外部API,它返回我的时间长度,表示为Epoch开始以来的毫秒数。
使用旧风格的Java API,我将简单地从它构造一个Date
Date myDate = new Date(startDateLong)
在Java 8的LocalDate/LocalDateTime类中有什么等价的?
我感兴趣的是将long表示的时间点转换为当前本地时区中的LocalDate。
有可能行绑定两个没有相同列集的数据帧吗?我希望保留绑定后不匹配的列。
假设我们有一个包含多个data.csv文件的文件夹,每个文件包含相同数量的变量,但每个变量来自不同的时间。 在R中是否有一种方法可以同时导入它们而不是逐个导入?
我的问题是我有大约2000个数据文件要导入,并且只能通过使用代码单独导入它们:
read.delim(file="filename", header=TRUE, sep="\t")
效率不高。
有人知道如何从R中的data。frame中移除一整列吗?例如,如果我得到这个data.frame:
> head(data)
chr genome region
1 chr1 hg19_refGene CDS
2 chr1 hg19_refGene exon
3 chr1 hg19_refGene CDS
4 chr1 hg19_refGene exon
5 chr1 hg19_refGene CDS
6 chr1 hg19_refGene exon
我想去掉第二列。
对于使用roxygen(2)记录类,指定标题和描述/细节似乎与函数、方法、数据等相同。然而,槽和继承是它们自己的一种动物。在roxygen2中记录S4类的最佳实践(当前的或计划的)是什么?
尽职调查:
我发现在roxygen的早期描述中提到了@slot标签。 2008年R-forge邮件列表帖子 似乎表明这已经死了, 并且roxygen中不支持@slot:
roxygen2也是这样吗?前面提到的文章建议用户应该使用LaTeX标记创建自己的逐项列表。例如,扩展“character”类的新S4类将像这样编码和记录:
#' The title for my S4 class that extends \code{"character"} class.
#'
#' Some details about this class and my plans for it in the body.
#'
#' \describe{
#' \item{myslot1}{A logical keeping track of something.}
#'
#' \item{myslot2}{An integer specifying something else.}
#'
#' \item{myslot3}{A data.frame holding some data.}
#' }
#' @name mynewclass-class
#' @rdname mynewclass-class
#' @exportClass mynewclass
setClass("mynewclass",
representation(myslot1="logical",
myslot2="integer",
myslot3="data.frame"),
contains = "character"
)
然而,尽管这样做是有效的,但是这种用于记录槽的\describe, \item方法似乎与roxygen(2)的其余部分不一致,因为没有@-分隔的标记,并且槽可以在没有roxygenize()反对的情况下被记录。它也没有说明以一致的方式记录所定义类的继承。我认为使用@import标记依赖关系通常仍然可以正常工作(如果特定插槽需要来自另一个包的非基类)。
那么,总结一下,目前roxygen(2)插槽的最佳实践是什么?
目前似乎有三种选择可供考虑:
A——分项列表(如上面的例子)。 B——@槽…但是我错过了额外的标签/实现。我无法让@slot在版本中使用roxygen / roxygen2 它是作为示例中逐项列表的替换而包含的 以上。同样,上述例子也适用于roxygen(2)。 C——一些用于指定槽的替代标记,比如@param,可以完成同样的事情。
我从github上roxygen2开发页面上的一篇文章中借用/扩展了这个问题。