Questions tagged «r»

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

6
替换字符串中的特定字符
我想从向量中的字符串中删除特定字符,类似于Excel中的“ 查找和替换”功能。 这是我开始的数据: group <- data.frame(c("12357e", "12575e", "197e18", "e18947") 我从第一列开始。我想通过删除来产生第二列e: group group.no.e 12357e 12357 12575e 12575 197e18 19718 e18947 18947

12
与%in%相反
数据帧D1中的分类变量V1可以具有由字母A到Z表示的值。我想创建一个子集D2,其中不包括某些值,例如B,N和T。基本上,我想要一个命令相反的 %in% D2 = subset(D1, V1 %in% c('B','N',T'))
262 r 


9
同时合并列表中的多个数据框
我有许多要合并的data.frames的列表。这里的问题是,每个data.frame不同的行数和列数的条款,但他们都有着关键变量(我打过电话"var1",并"var2"在下面的代码)。如果data.frames在列方面是相同的,我只能这样做rbind,而ply​​r的rbind.fill将为此工作,但这些数据并非如此。 由于该merge命令仅适用于2个data.frames,因此我转向Internet寻求想法。我从这里得到了这个,它在R 2.7.2中可以完美运行,这就是我当时的情况: merge.rec <- function(.list, ...){ if(length(.list)==1) return(.list[[1]]) Recall(c(list(merge(.list[[1]], .list[[2]], ...)), .list[-(1:2)]), ...) } 我会这样调用该函数: df <- merge.rec(my.list, by.x = c("var1", "var2"), by.y = c("var1", "var2"), all = T, suffixes=c("", "")) 但是在2.7.2之后的任何R版本中,包括2.11和2.12,此代码都会失败,并出现以下错误: Error in match.names(clabs, names(xi)) : names do not match previous names (顺便说一句,我在其他地方看到了对此错误的其他参考,没有解决方法)。 有什么办法可以解决这个问题?
258 r  list  merge  dataframe  r-faq 

26
确定执行脚本的路径
我有一个名为的foo.R脚本other.R,其中包括另一个脚本,该脚本位于同一目录中: #!/usr/bin/env Rscript message("Hello") source("other.R") 但无论当前工作目录是什么,我都想R找到它other.R。 换句话说,foo.R需要知道自己的路径。我怎样才能做到这一点?
255 r  file  path  rscript  r-faq 

3
ggplot2中的中心图标题
嗨,这个简单的代码(以及我今天早上起的所有脚本)已经开始在ggplot2中给我一个偏离中心的标题 Ubuntu version: 16.04 R studio version: Version 0.99.896 R version: 3.3.2 GGPLOT2 version: 2.2.0 我今天早上刚安装了上面的产品,尝试修复此问题。 dat <- data.frame( time = factor(c("Lunch","Dinner"), levels=c("Lunch","Dinner")), total_bill = c(14.89, 17.23) ) # Add title, narrower bars, fill color, and change axis labels ggplot(data=dat, aes(x=time, y=total_bill, fill=time)) + geom_bar(colour="black", fill="#DD8888", width=.8, stat="identity") + guides(fill=FALSE) …
254 r  ggplot2 

3
布尔运算符&&和||
根据R输入语言定义,之间的差&和&&(相应地|和||)是,前者被矢量而后者则不是。 根据帮助文本,我读到了与“ And”和“ AndAlso”(相应地为“ Or”和“ OrElse”)之间的区别类似的含义……含义:并非所有评估都必须是(即,如果A为true,则A或B或C始终为true,因此,如果A为true,则停止评估) 有人可以照亮这里吗?另外,R中是否有AndAlso和OrElse?

4
删除图例ggplot 2.2
我正在尝试保留一层(平滑)的图例,并删除另一层(点)的图例。我曾尝试用guides(colour = FALSE)和关闭这些传说geom_point(aes(color = vs), show.legend = FALSE)。 编辑:由于此问题及其答案很普遍,因此似乎出现了一个可重现的示例: library(ggplot2) ggplot(data = mtcars, aes(x = mpg, y = disp, group = gear)) + geom_point(aes(color = vs)) + geom_point(aes(shape = factor(cyl))) + geom_line(aes(linetype = factor(gear))) + geom_smooth(aes(fill = factor(gear), color = gear)) + theme_bw()
249 r  ggplot2  legend 

7
Ymark中的YAML当前日期
我想知道是否有技巧将当前日期放在.rmd要处理的文档的YAML前端,knitr并且rmarkdown程序包。我以前在Wiki页面的顶部有以下行, _baptiste, `r format(Sys.time(), "%d %B, %Y")`_ 它将在html输出中转换为baptiste,2014年5月3日。现在,我想利用所提供的高级pandoc包装器rmarkdown,但是在YAML标头中包含r代码似乎不起作用: --- title: "Sample Document" output: html_document: toc: true theme: united date: `r format(Sys.time(), "%d %B, %Y")` author: baptiste --- Error in yaml::yaml.load(front_matter) : Scanner error: while scanning for the next token at line 6, column 7 found character that cannot start any …
247 r  yaml  knitr  r-markdown 

17
将对象以摊销的固定时间O(1)附加到R中的列表吗?
如果我有一些R list mylist,则可以obj像这样添加一个项目: mylist[[length(mylist)+1]] <- obj 但是肯定有一些更紧凑的方法。当我刚加入R时,我尝试这样写lappend(): lappend <- function(lst, obj) { lst[[length(lst)+1]] <- obj return(lst) } 但是由于R的按名称调用语义(当然lst会在调用时有效复制,因此当然不起作用,因此对的更改lst在.scope范围之外是不可见的lappend()。我知道您可以在R函数中进行环境黑客攻击,以到达函数范围并更改调用环境,但这似乎是编写简单附加函数的重击。 谁能建议一种更漂亮的方式呢?奖励积分(如果它适用于矢量和列表)。
245 r  performance  list  append  big-o 

15
将数据框字符串列拆分为多列
我想获取表格的数据 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 并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 我想出了一些令人难以置信的复杂性,涉及某种形式的apply工作,但此后我放错了地方。似乎太复杂了,无法成为最佳方法。我可以strsplit按以下方式使用,但不清楚如何将其重新放入数据框中的2列。 > strsplit(as.character(before$type),'_and_') [[1]] [1] "foo" "bar" …
244 r  string  dataframe  split  r-faq 


15
ggplot,每侧有2个y轴,并且比例不同
我需要在一张图表中绘制显示计数的条形图和显示利率的折线图,我可以分别将它们都做,但是当我将它们放在一起时,第一层的比例(即geom_bar)与第二层的比例重叠层(即geom_line)。 我可以geom_line向右移动轴吗?
231 r  ggplot2  r-faq 

20
如何更改刻面标签?
我使用了以下ggplot命令: ggplot(survey, aes(x = age)) + stat_bin(aes(n = nrow(h3), y = ..count.. / n), binwidth = 10) + scale_y_continuous(formatter = "percent", breaks = c(0, 0.1, 0.2)) + facet_grid(hospital ~ .) + theme(panel.background = theme_blank()) 生产 我想将构面标签更改为较短的内容(例如Hosp 1,Hosp 2...),因为它们现在太长了,看起来局促(不能选择增加图形的高度,这会占用太多空间)该文档)。我查看了facet_grid帮助页面,但不知道如何处理。
230 r  ggplot2  symbols  facet  plotmath 


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.