Questions tagged «r-faq»

创建r-faq标签是为了将有限数量的问题分组,以讨论定期出现在R标签上的问题。它不是R for SO的官方常见问题解答,但应作为有关常见问题的有趣信息来源。

2
R数据格式:RData,Rda,Rds等
.RData,.Rda和.Rds文件之间的主要区别是什么? 进一步来说: 压缩等方面有区别吗? 何时应使用每种类型? 如何将一种类型转换为另一种类型?
226 r  r-faq  rdata  rda 

13
如何一次导入多个.csv文件?
假设我们有一个包含多个data.csv文件的文件夹,每个文件包含相同数量的变量,但每个变量来自不同的时间。R中是否有一种方法可以同时导入它们,而不必分别导入它们? 我的问题是,我有大约2000个数据文件要导入,并且仅通过使用以下代码就可以分别导入它们: read.delim(file="filename", header=TRUE, sep="\t") 不是很有效。
219 r  csv  import  r-faq 

7
查找星期几
假设我在R中有一个日期,其日期格式如下。 date 2012-02-01 2012-02-01 2012-02-02 R中有什么方法可以添加与日期关联的星期几的另一列?数据集确实很大,因此手动进行更改并没有意义。 df = data.frame(date=c("2012-02-01", "2012-02-01", "2012-02-02")) 因此,添加天数后,最终结果将如下所示: date day 2012-02-01 Wednesday 2012-02-01 Wednesday 2012-02-02 Thursday 这可能吗?谁能指出我要允许我这样做的包裹?只是尝试自动按日期生成日期。
215 r  date  r-faq 

14
在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 要安装软件包,我必须指定一个库位置: install.packages("zoo", lib="C:/software/Rpackages") 要加载软件包,我还必须指定库位置: library("zoo", lib.loc="C:/software/Rpackages") 所有这些都可以,但是我想看看是否可以C:/software/Rpackages以某种方式添加到库路径,因此不必每次都键入它。 当我在线搜索时,发现执行此操作的一种方法是编辑Rprofile.site文件并添加行 .libPaths("C:/software/Rpackages") 但是,执行此操作并启动RStudio之后,这是我得到的输出 > .libPaths() [1] "C:/Program Files/R/R-2.15.2/library" "C:/Program Files/RStudio/R/library" 在.libPaths我加入命令Rprofile.site似乎并没有有任何影响!为什么会这样呢?更重要的是,如何解决该问题,以便无需键入库位置即可安装和加载软件包? 注意:如果我启动RStudio,该.libPaths()命令似乎可以正常运行 .libPaths("C:/software/Rpackages") > .libPaths() [1] "C:/software/Rpackages" "C:/Program Files/R/R-2.15.2/library" 那不是很奇怪吗?
205 r  rstudio  r-faq  library-path 

9
加快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." …
193 performance  r  loops  rcpp  r-faq 

2
在R编程语言中使用〜(波浪号)
我在有关回归建模的教程中看到以下命令: myFormula <- Species ~ Sepal.Length + Sepal.Width + Petal.Length + Petal.Width 该命令的作用是什么~?命令中(波浪号)的作用是什么?
187 r  r-faq 

8
如何制作数据帧列表?
如何制作数据帧列表,以及如何从列表中访问每个数据帧? 例如,如何将这些数据框放在列表中? d1 <- data.frame(y1 = c(1, 2, 3), y2 = c(4, 5, 6)) d2 <- data.frame(y1 = c(3, 2, 1), y2 = c(6, 5, 4))
185 r  list  dataframe  r-faq 

12
计算移动平均
我正在尝试使用R计算矩阵中一系列值的移动平均值。但是,普通的R邮件列表搜索并不是很有帮助。R中似乎没有内置函数可以让我计算移动平均值。有任何包装提供吗?还是我需要自己写?
185 r  moving-average  r-faq 

10
错误:在R中找不到函数…
这是一个常见问题,请尽可能完整。答案是社区答案,因此,如果您认为缺少某些内容,请随时进行编辑。 该问题已在meta上进行了讨论和批准。 我正在使用R并尝试过,some.function但是出现以下错误消息: Error: could not find function "some.function" 这个问题经常出现。当您在R中遇到此类错误时,如何解决呢?

8
在`dplyr`中使用动态变量名
我想用来dplyr::mutate()在数据框中创建多个新列。列名及其内容应动态生成。 来自虹膜的示例数据: library(dplyr) iris <- tbl_df(iris) 我创建了一个函数来从Petal.Width变量中更改新列: multipetal <- function(df, n) { varname <- paste("petal", n , sep=".") df <- mutate(df, varname = Petal.Width * n) ## problem arises here df } 现在,我创建一个循环来构建我的列: for(i in 2:5) { iris <- multipetal(df=iris, n=i) } 但是,由于mutate认为varname是一个文字变量名,因此循环仅创建一个新变量(称为varname),而不是四个(称为花瓣2-花瓣5)。 如何mutate()使用动态名称作为变量名称?
168 r  dplyr  r-faq 

7
为数据框中的组内的行编号
使用类似于以下内容的数据框: set.seed(100) df <- data.frame(cat = c(rep("aaa", 5), rep("bbb", 5), rep("ccc", 5)), val = runif(15)) df <- df[order(df$cat, df$val), ] df cat val 1 aaa 0.05638315 2 aaa 0.25767250 3 aaa 0.30776611 4 aaa 0.46854928 5 aaa 0.55232243 6 bbb 0.17026205 7 bbb 0.37032054 8 bbb 0.48377074 9 bbb 0.54655860 …
163 r  dataframe  r-faq 

7
从宽格式到长格式重塑data.frame
我很难将我data.frame的桌子从宽桌变成长桌。目前看起来像这样: Code Country 1950 1951 1952 1953 1954 AFG Afghanistan 20,249 21,352 22,532 23,557 24,555 ALB Albania 8,097 8,986 10,058 11,123 12,246 现在我想把它变data.frame长data.frame。像这样: Code Country Year Value AFG Afghanistan 1950 20,249 AFG Afghanistan 1951 21,352 AFG Afghanistan 1952 22,532 AFG Afghanistan 1953 23,557 AFG Afghanistan 1954 24,555 ALB Albania 1950 …
163 r  dataframe  reshape  r-faq 



9
使用字符串向量输入按dplyr中的多列分组
我试图将我对plyr的理解转换为dplyr,但是我不知道如何按多个列进行分组。 # make data with weird column names that can't be hard coded data = data.frame( asihckhdoydkhxiydfgfTgdsx = sample(LETTERS[1:3], 100, replace=TRUE), a30mvxigxkghc5cdsvxvyv0ja = sample(LETTERS[1:3], 100, replace=TRUE), value = rnorm(100) ) # get the columns we want to average within columns = names(data)[-3] # plyr - works ddply(data, columns, summarize, value=mean(value)) …
157 r  dplyr  r-faq 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.