Questions tagged «r-faq»

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

5
在同一张图中使用ggplot2将两个变量绘制为线
一个非常新奇的问题,但请说我有这样的数据: test_data <- data.frame( var0 = 100 + c(0, cumsum(runif(49, -20, 20))), var1 = 150 + c(0, cumsum(runif(49, -10, 10))), date = seq(as.Date("2002-01-01"), by="1 month", length.out=100) ) 如何使用x在x轴上绘制时间序列var0和var1同一张图?如果您制作和使用不同的颜色,则可获得加分,并可包含图例!dateggplot2var0var1 我敢肯定这很简单,但是我找不到任何示例。
305 r  ggplot2  graph  time-series  r-faq 

11
如何将绘图作为图像保存在磁盘上?
我使用R绘制了一个简单的线性回归。我想将该图像另存为PNG或JPEG,是否可以自动执行?(通过代码) 有两个不同的问题:首先,我已经在监视器上查看该图了,我想按原样保存它。其次,我还没有生成绘图,但是我想在执行绘图代码时将其直接保存到磁盘。
304 r  plot  ggplot2  lattice  r-faq 

13
ggplot2条形图中的订购条
我正在尝试制作一个条形图,其中最大的条形图最接近y轴,而最短的条形图最远。所以这有点像我的桌子 Name Position 1 James Goalkeeper 2 Frank Goalkeeper 3 Jean Defense 4 Steve Defense 5 John Defense 6 Tim Striker 所以我正在尝试建立一个条形图,以根据位置显示玩家数量 p <- ggplot(theTable, aes(x = Position)) + geom_bar(binwidth = 1) 但该图首先显示了守门员栏,然后是防守方,最后是前锋。我希望对图表进行排序,以使防守杆最接近y轴,守门员最接近,前锋最接近。谢谢
301 r  ggplot2  r-faq 

6
评估以字符串形式给出的表达式
我很好奇R是否可以使用其eval()功能来执行例如字符串提供的计算。 这是一个常见的情况: eval("5+5") 但是,我得到的不是10个: [1] "5+5" 有什么办法吗?
283 r  eval  r-faq 

9
测试字符是否在字符串中
我正在尝试确定一个字符串是否是另一个字符串的子集。例如: chars <- "test" value <- "es" 如果“值”作为字符串“字符”的一部分出现,我想返回TRUE。在以下情况下,我想返回false: chars <- "test" value <- "et"
279 r  regex  string  r-faq 


6
连接字符串/字符的向量
如果我有一个character类型的向量,如何将这些值连接成字符串?这是我将使用paste()做到的方式: sdata = c('a', 'b', 'c') paste(sdata[1], sdata[2], sdata[3], sep ='') 屈服"abc"。 但是,当然,这只有在我提前知道sdata的长度的情况下才有效。
273 r  string  r-faq 

12
格式化R中的小数位数
我有一个数字,例如1.128347132904321674821,在输出到屏幕(或写入文件)时,我只想显示两位小数。如何做到这一点? x <- 1.128347132904321674821 编辑: 指某东西的用途: options(digits=2) 已被建议为可能的答案。有没有一种方法可以在脚本中指定一次以供使用?当我将其添加到脚本中时,它似乎并没有做任何不同的事情,并且我对重新格式化每个数字的格式不感兴趣(我正在自动处理一个非常大的报告)。 -- 答案:舍入(x,数字= 2)
264 r  formatting  rounding  r-faq 

11
如何将数据从长格式转换为宽格式
我在重新整理以下数据框时遇到麻烦: set.seed(45) dat1 <- data.frame( name = rep(c("firstName", "secondName"), each=4), numbers = rep(1:4, 2), value = rnorm(8) ) dat1 name numbers value 1 firstName 1 0.3407997 2 firstName 2 -0.7033403 3 firstName 3 -0.3795377 4 firstName 4 -0.7460474 5 secondName 1 -0.8981073 6 secondName 2 -0.3347941 7 secondName 3 -0.5013782 …
262 r  reshape  r-faq 

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 

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 

9
在图上添加回归线方程和R ^ 2
我想知道如何在上添加回归线方程和R ^ 2 ggplot。我的代码是: library(ggplot2) df <- data.frame(x = c(1:100)) df$y <- 2 + 3 * df$x + rnorm(100, sd = 40) p <- ggplot(data = df, aes(x = x, y = y)) + geom_smooth(method = "lm", se=FALSE, color="black", formula = y ~ x) + geom_point() p 任何帮助将不胜感激。

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.