Tag: r

使用R列出具有指定扩展名的所有文件

我对R非常陌生,正在更新一个R脚本来遍历使用ArcGIS创build的一系列.dbf表,并生成一系列图。 我有一个目录,C:\ Scratch,将包含我所有的.dbf文件。 但是,当ArcGIS创build这些表时,它还包含一个.dbf.xml文件。 我想从我的文件列表中删除这些.dbf.xml文件,从而我的迭代。 我试过用正则expression式search和试验无济于事。 这是我正在使用的基本expression式(不包括所有的各种实验): files <- list.files(pattern = "dbf") 任何人都可以给我一些方向?

如何将variables(对象)名称转换为string

我有以下数据框与variables名称"foo" ; > foo <-c(3,4); 我想要做的是将"foo"转换为一个string。 所以在一个函数中我不必重新创build另一个额外的variables: output <- myfunc(foo) myfunc <- function(v1) { # do something with v1 # so that it prints "FOO" when # this function is called # # instead of the values (3,4) return () }

R:加快“小组化”的行动

我有一个模拟,有一个巨大的总和,结合步骤正确的中间。 我使用plyr的ddply()函数对这个过程进行了原型devise,这对于我的需求来说非常有用。 但是我需要这个聚合步骤,因为我必须运行10K模拟。 我已经并行扩展了模拟,但如果这一步更快,我可以大大减less我需要的节点数量。 这是我想要做的合理的简化: library(Hmisc) # Set up some example data year <- sample(1970:2008, 1e6, rep=T) state <- sample(1:50, 1e6, rep=T) group1 <- sample(1:6, 1e6, rep=T) group2 <- sample(1:3, 1e6, rep=T) myFact <- rnorm(100, 15, 1e6) weights <- rnorm(1e6) myDF <- data.frame(year, state, group1, group2, myFact, weights) # this is the step I want […]

仅从数据框中select数字列

假设你有这样的data.frame: x <- data.frame(v1=1:20,v2=1:20,v3=1:20,v4=letters[1:20]) 你将如何select只有那些是数字的x列?

R存储包在哪里?

R中的install.packages()函数是在R中获取和安装软件包的自动解压缩实用程序。 如何找出Rselect存储软件包的目录? 如何更改R存储和访问包的目录?

在函数中显式调用return还是不行

前段时间, 我被 R核心团队的Simon Urbanek 斥责 (我相信)build议用户在函数结尾处明确调用return (他的评论已被删除): foo = function() { return(value) } 相反,他build议: foo = function() { value } 可能在这样的情况下,它是必需的: foo = function() { if(a) { return(a) } else { return(b) } } 他的评论阐明了为什么不调用return除非严格需要是件好事,但是这被删除了。 我的问题是:为什么不调用更快或更好的return ,从而更好?

如何在R中有效地使用Rprof?

我想知道是否有可能以类似于matlab的Profiler的方式从R代码中获取configuration文件。 也就是说,要知道哪些行号是特别慢的行号。 我迄今为止所达到的目标不知如何是令人满意的。 我用Rprof使我成为一个configuration文件。 使用summaryRprof我得到如下内容: $by.self self.time self.pct total.time total.pct [.data.frame 0.72 10.1 1.84 25.8 inherits 0.50 7.0 1.10 15.4 data.frame 0.48 6.7 4.86 68.3 unique.default 0.44 6.2 0.48 6.7 deparse 0.36 5.1 1.18 16.6 rbind 0.30 4.2 2.22 31.2 match 0.28 3.9 1.38 19.4 [<-.factor 0.28 3.9 0.56 7.9 levels 0.26 3.7 0.34 4.8 […]

如何使用grid.arrange来安排任意数量的ggplots?

这是交叉发布在ggplot2谷歌组 我的情况是,我正在处理一个输出任意数量的图的函数 (取决于用户提供的input数据)。 函数返回一个n个地块的列表,我想把这些地块放在2 x 2的地层中。 我正在同时遇到以下问题: 我怎样才能让灵活性交给任意数量的地块呢? 我怎样才能指定我想要他们摆放2 x 2 我目前的策略使用gridExtra包中的gridExtra 。 这可能不是最佳的,特别是因为,这是关键, 它完全不起作用 。 这是我评论的示例代码,试验了三个图: library(ggplot2) library(gridExtra) x <- qplot(mpg, disp, data = mtcars) y <- qplot(hp, wt, data = mtcars) z <- qplot(qsec, wt, data = mtcars) # A normal, plain-jane call to grid.arrange is fine for displaying all my plots grid.arrange(x, […]

添加新行到数据框,在特定的行索引,不附加?

下面的代码将一个向量与一个dataframe结合起来: newrow = c(1:4) existingDF = rbind(existingDF,newrow) 但是,这段代码总是在数据框的末尾插入新行。 如何在数据框内的指定点插入行? 例如,让我们说数据框有20行,我怎样才能插入10行和11行之间的新行?

在R中合并/连接data.frames的最快方法是什么?

例如(不知道如果最有代表性的例子): N <- 1e6 d1 <- data.frame(x=sample(N,N), y1=rnorm(N)) d2 <- data.frame(x=sample(N,N), y2=rnorm(N)) 这是我到目前为止: d <- merge(d1,d2) # 7.6 sec library(plyr) d <- join(d1,d2) # 2.9 sec library(data.table) dt1 <- data.table(d1, key="x") dt2 <- data.table(d2, key="x") d <- data.frame( dt1[dt2,list(x,y1,y2=dt2$y2)] ) # 4.9 sec library(sqldf) sqldf() sqldf("create index ix1 on d1(x)") sqldf("create index ix2 on d2(x)") […]