标签: r-faq

将数据框架字符串列拆分为多个列

我想要获取表格的数据

before = data.frame(attr = c(1,30,4,6), type=c('foo_and_bar','foo_and_bar_2'))
  attr          type
1    1   foo_and_bar
2   30 foo_and_bar_2
3    4   foo_and_bar
4    6 foo_and_bar_2
Run Code Online (Sandbox Code Playgroud)

并使用split()上面的列" type"来得到这样的东西:

  attr type_1 type_2
1    1    foo    bar
2   30    foo  bar_2
3    4    foo    bar
4    6    foo  bar_2
Run Code Online (Sandbox Code Playgroud)

我提出了一些令人难以置信的复杂问题,涉及某种形式的apply工作,但我已经错了.这似乎太复杂了,不是最好的方式.我可以使用strsplit如下,但不清楚如何将其恢复到数据框中的2列.

> strsplit(as.character(before$type),'_and_')
[[1]]
[1] "foo" "bar"

[[2]]
[1] "foo"   "bar_2"

[[3]]
[1] "foo" "bar"

[[4]]
[1] "foo"   "bar_2"
Run Code Online (Sandbox Code Playgroud)

谢谢你的任何指示.我还没有完全理解R列表.

string split r dataframe r-faq

218
推荐指数
13
解决办法
32万
查看次数

绘制2 y轴,左侧为y轴,右侧为y轴

我需要绘制一个显示计数的条形图和一个在一个图表中显示速率的折线图,我可以分别做两个,但是当我把它们放在一起时,我的第一层的比例(即geom_bar)与第二层重叠层(即geom_line).

我可以将轴geom_line向右移动吗?

r ggplot2 r-faq

209
推荐指数
12
解决办法
25万
查看次数

当行具有不同的列集时,按行(rbind)组合两个数据帧

是否可以对两个没有相同列的数据帧进行行绑定?我希望保留绑定后不匹配的列.

r dataframe r-faq

207
推荐指数
8
解决办法
26万
查看次数

R数据格式:RData,Rda,Rds等

.RData,.Rda和.Rds文件之间的主要区别是什么?

进一步来说:

  • 压缩等方面是否存在差异?
  • 应该何时使用每种类型?
  • 如何将一种类型转换为另一种类型?

r rda r-faq rdata

203
推荐指数
2
解决办法
12万
查看次数

找到一周的一天

假设我在R中有一个日期,其格式如下.

   date      
2012-02-01 
2012-02-01
2012-02-02
Run Code Online (Sandbox Code Playgroud)

在R中是否有任何方法可以添加与日期相关的星期几的另一列?数据集非常大,因此手动完成并进行更改是没有意义的.

df = data.frame(date=c("2012-02-01", "2012-02-01", "2012-02-02")) 
Run Code Online (Sandbox Code Playgroud)

因此,在添加日期之后,它最终会看起来像:

   date       day
2012-02-01   Wednesday
2012-02-01   Wednesday
2012-02-02   Thursday
Run Code Online (Sandbox Code Playgroud)

这可能吗?任何人都可以指向我一个允许我这样做的包吗?只是尝试按日期自动生成日期.

r date r-faq

200
推荐指数
6
解决办法
20万
查看次数

如何一次导入多个.csv文件?

假设我们有一个包含多个data.csv文件的文件夹,每个文件包含相同数量的变量,但每个变量包含不同的时间.R中有没有办法同时导入它们而不必单独导入它们?

我的问题是我有大约2000个数据文件要导入,只需使用代码就可以单独导入它们:

read.delim(file="filename", header=TRUE, sep="\t")
Run Code Online (Sandbox Code Playgroud)

不是很有效率.

csv import r r-faq

195
推荐指数
9
解决办法
29万
查看次数

使用Rprofile.site中的.libPaths更改R默认库路径无法正常工作

我在Windows上运行R,而不是管理员.当我安装包时,以下命令不起作用:

> install.packages("zoo")
Installing package(s) into ‘C:/Program Files/R/R-2.15.2/library’
(as ‘lib’ is unspecified)
Warning in install.packages :
  'lib = "C:/Program Files/R/R-2.15.2/library"' is not writable
Run Code Online (Sandbox Code Playgroud)

要安装软件包,我必须指定一个库位置:

install.packages("zoo", lib="C:/software/Rpackages")
Run Code Online (Sandbox Code Playgroud)

要加载包,我还必须指定库位置:

library("zoo", lib.loc="C:/software/Rpackages")
Run Code Online (Sandbox Code Playgroud)

所有这一切C:/software/Rpackages都没问题,但我想知道是否可以以某种方式添加到库路径,因此不必每次都输入它.

当我在网上搜索时,我发现一种方法是编辑Rprofile.site文件并添加行

.libPaths("C:/software/Rpackages")
Run Code Online (Sandbox Code Playgroud)

但是,在执行此操作并启动RStudio之后,这就是我得到的输出

> .libPaths()
[1] "C:/Program Files/R/R-2.15.2/library" "C:/Program Files/RStudio/R/library" 
Run Code Online (Sandbox Code Playgroud)

.libPaths我加入命令Rprofile.site似乎并没有有任何影响!为什么会这样?或者更重要的是,如何解决问题以便我可以在不输入库位置的情况下安装和加载包?

注意:如果我启动RStudio,.libPaths()命令似乎按预期工作

.libPaths("C:/software/Rpackages")
> .libPaths()
[1] "C:/software/Rpackages"               "C:/Program Files/R/R-2.15.2/library"
Run Code Online (Sandbox Code Playgroud)

这不奇怪吗?

r library-path rstudio r-faq

186
推荐指数
8
解决办法
40万
查看次数

加速R中的循环操作

我在R中遇到了很大的性能问题.我编写了一个迭代data.frame对象的函数.它只是添加一个新列data.frame并积累一些东西.(操作简单).将data.frame有大约850K行.我的电脑仍在工作(现在大约10小时),我不知道运行时间.

dayloop2 <- function(temp){
    for (i in 1:nrow(temp)){    
        temp[i,10] <- i
        if (i > 1) {             
            if ((temp[i,6] == temp[i-1,6]) & (temp[i,3] == temp[i-1,3])) { 
                temp[i,10] <- temp[i,9] + temp[i-1,10]                    
            } else {
                temp[i,10] <- temp[i,9]                                    
            }
        } else {
            temp[i,10] <- temp[i,9]
        }
    }
    names(temp)[names(temp) == "V10"] <- "Kumm."
    return(temp)
}
Run Code Online (Sandbox Code Playgroud)

有什么想法如何加快这个操作?

performance loops r rcpp r-faq

182
推荐指数
7
解决办法
8万
查看次数

计算移动平均线

我正在尝试使用R来计算矩阵中一系列值的移动平均值.正常的R邮件列表搜索虽然不是很有帮助.R中似乎没有内置函数可以让我计算移动平均线.有任何套餐提供吗?或者我需要自己写吗?

r moving-average r-faq

175
推荐指数
10
解决办法
22万
查看次数

在R编程语言中使用〜(代字号)

我在一个关于回归建模的教程中看到了以下命令:

myFormula <- Species ~ Sepal.Length + Sepal.Width + Petal.Length + Petal.Width
Run Code Online (Sandbox Code Playgroud)

这个命令究竟做了什么,~(tilde)在命令中的作用是什么?

r r-faq

174
推荐指数
3
解决办法
11万
查看次数

标签 统计

r ×10

r-faq ×10

dataframe ×2

csv ×1

date ×1

ggplot2 ×1

import ×1

library-path ×1

loops ×1

moving-average ×1

performance ×1

rcpp ×1

rda ×1

rdata ×1

rstudio ×1

split ×1

string ×1