Questions tagged «r»

R是一种免费的开源编程语言和软件环境,用于统计计算,生物信息学,可视化和通用计算。请提供最少且可复制的示例以及所需的输出。使用`dput()`作为数据,并通过`library()`调用指定所有非基本包。不要为数据或代码嵌入图片,而应使用缩进的代码块。对于统计相关的问题,请使用https://stats.stackexchange.com。

4
使用dplyr按组计算行数
我正在使用mtcars数据集。我想查找特定数据组合的记录数。与count(*)SQL中的group by子句非常相似。ddply()来自plyr为我工作 library(plyr) ddply(mtcars, .(cyl,gear),nrow) 有输出 cyl gear V1 1 4 3 1 2 4 4 8 3 4 5 2 4 6 3 2 5 6 4 4 6 6 5 1 7 8 3 12 8 8 5 2 使用此代码 library(dplyr) g <- group_by(mtcars, cyl, gear) summarise(g, length(gear)) …
81 r  dplyr  count  plyr 

4
设置ggplot限制的下限
是否可以仅设置连续刻度极限的下限?我想使所有图都基于0,而无需指定上限。 例如 + scale_y_continuous(minlim=0)
81 r  ggplot2 

1
如何将前一个表达式的结果分配给变量?
假设我正在使用R的交互式控制台,而我刚刚做了如下操作: long_running_command() 该长时间运行的命令返回一个值,我刚刚意识到我想将该值分配给变量,而不是将其丢弃。那么,如何在不再次运行命令的情况下获得该值?有这样的命令吗? result = get_last_return_value()

8
如何在R中覆盖密度图?
我想在同一设备上用R覆盖2个密度图。我该怎么做?我在网上搜索,但没有找到任何明显的解决方案。 我的想法是从文本文件(列)中读取数据,然后使用 plot(density(MyData$Column1)) plot(density(MyData$Column2), add=T) 还是本着这种精神。
81 r  plot  density-plot 

8
在R data.table计算中使用上一行的值
我想在data.table中创建一个新列,该列是根据一列的当前值和另一列的前值计算得出的。是否可以访问以前的行? 例如: > DT <- data.table(A=1:5, B=1:5*10, C=1:5*100) > DT A B C 1: 1 10 100 2: 2 20 200 3: 3 30 300 4: 4 40 400 5: 5 50 500 > DT[, D := C + BPreviousRow] # What is the correct code here? 正确答案应该是 > DT …
81 r  data.table 

3
按顺序创建重复值的顺序?
我需要一个重复的数字序列,即1 1 ... 1 2 2 ... 2 3 3 ... 3 etc.我的实现方式是: nyear <- 20 names <- c(rep(1,nyear),rep(2,nyear),rep(3,nyear),rep(4,nyear), rep(5,nyear),rep(6,nyear),rep(7,nyear),rep(8,nyear)) 可以,但是笨拙,显然扩展性不佳。 如何依次将N个整数重复M次? 我尝试嵌套seq(),rep()但是并没有完全满足我的要求。 我显然可以编写一个for循环来执行此操作,但是应该有一个固有的方法来执行此操作!
81 r  repeat  seq  replicate 

4
如何抑制ggplot2图中的垂直网格线?
我正在构建一个条形图,其条形足以表示水平(x)的位置,因此我要避免绘制多余的垂直网格线。 我知道如何在opts()中设置次要网格线和主要网格线的样式,但是我一辈子都无法弄清楚如何仅抑制垂直网格线。 library(ggplot2) data <- data.frame(x = 1:10, y = c(3,5,2,5,6,2,7,6,5,4)) ggplot(data, aes(x, y)) + geom_bar(stat = 'identity') + opts( panel.grid.major = theme_line(size = 0.5, colour = '#1391FF'), panel.grid.minor = theme_line(colour = NA), panel.background = theme_rect(colour = NA), axis.ticks = theme_segment(colour = NA) ) 在这一点上,看起来我将不得不压制所有网格线,然后使用geom_hline()将它们绘制回去,这似乎有点痛苦(而且,还不清楚如何找到刻度线/主要网格线位置以馈送给geom_hline()。) 任何想法将不胜感激!
81 r  ggplot2 

1
将数据帧转换为data.table而不复制
我有一个很大的数据帧(大约数GB),我想将其转换为data.table。使用as.data.table创建数据帧的副本,这意味着我需要可用内存至少为数据大小的两倍。有没有复制的方法吗? 这是一个简单的示例来演示: library(data.table) N <- 1e6 K <- 1e2 data <- as.data.frame(rep(data.frame(rnorm(N)), K)) gc(reset=TRUE) tracemem(data) data <- as.data.table(data) gc() 输出: library(data.table) # data.table 1.8.10 For help type: help("data.table") N <- 1e6 K <- 1e2 data <- as.data.frame(rep(data.frame(rnorm(N)), K)) gc(reset=TRUE) # used (Mb) gc trigger (Mb) max used (Mb) # Ncells …

1
如何使用R播放生日音乐?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 1年前关闭。 改善这个问题 我想使用R播放音乐。尽管R可能不是达到此目的的最佳工具,但它是我熟悉的工具,很高兴在这样的欢乐时刻向他人展示其灵活性。 我该怎么做?
80 r 

3
R和面向对象的编程
在R中,以一种或另一种方式进行面向对象的编程非常有可能。但是,与例如Python不同,有许多方法可以实现面向对象: 该R.oo包 S3和S4类 参考班 在原包 我的问题是: 有哪些主要区别区分R中的OO编程这些方式? 理想情况下,此处的答案将为试图确定哪种OO编程方法最适合其需求的R程序员提供参考。 因此,我要求提供详细信息,以经验为基础,以客观的方式提出,并以事实和参考为后盾。阐明这些方法如何映射到标准OO做法的要点。
80 oop  r 

4
如何在R函数中使用switch语句?
我想为R中的函数使用该语句,switch()以根据函数参数的值触发不同的计算。 例如,在Matlab中,您可以通过编写 switch(AA) case '1' ... case '2' ... case '3' ... end 我发现了此post- switch()语句用法-解释了如何使用switch,但对我没有太大帮助,因为我想执行更复杂的计算(矩阵运算)而不是简单的操作mean。

13
报告data.frame中缺失值的优雅方法
这是我编写的一小段代码,用于报告数据框中缺少值的变量。我正在尝试一种更优雅的方式来执行此操作,该方法可能返回一个data.frame,但我遇到了麻烦: for (Var in names(airquality)) { missing <- sum(is.na(airquality[,Var])) if (missing > 0) { print(c(Var,missing)) } } 编辑:我正在处理具有数十到数百个变量的data.frames,所以关键是我们只报告缺少值的变量。

2
如何随机化向量
我想用一个简单的单行命令随机重组向量中数字的顺序吗? 我的特定向量V从1到10的每个值都有150个条目: V <- rep(1:10, each=150)
80 r  vector  random  shuffle 

3
如何查看R .Internal或.Primitive函数的源代码?
这些都没有显示pnorm功能的源代码, stats:::pnorm getAnywhere(pnorm) 我如何查看的源代码pnorm? sum (..., na.rm = FALSE) .Primitive("sum") .Primitive("sum") function (..., na.rm = FALSE) .Primitive("sum") methods(sum) no methods were found 而且,如何查看该sum函数的源代码?
80 r 

4
根据字符串匹配选择列-dplyr :: select
我有一个包含很多列的数据框(“数据”)。一些列包含某个字符串(“ search_string”)。 如何使用dplyr::select()给我一个仅包含包含字符串的列的子集? 我试过了: # columns as boolean vector select(data, grepl("search_string",colnames(data))) # columns as vector of column names names select(data, colnames(data)[grepl("search_string",colnames(data))]) 他们都不工作。 我知道可以select()接受数值向量替代列,例如: select(data,5,7,9:20) 但是我不知道如何ID从grepl()表达式中获取列s的数值向量。
80 r  regex  dplyr 

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.