Questions tagged «r»

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


8
使用$和字符值动态选择数据框列
我有一个具有不同列名的向量,并且我希望能够遍历每个列名,以便从data.frame中提取该列。例如,考虑数据集mtcars和一些存储在字符向量中的变量名cols。当我尝试mtcars使用的动态子集选择变量时cols,这些工作会进一步 cols <- c("mpg", "cyl", "am") col <- cols[1] col # [1] "mpg" mtcars$col # NULL mtcars$cols[1] # NULL 我怎样才能得到这些返回相同的值 mtcars$mpg 此外,我该如何遍历所有列cols以某种形式获取值。 for(x in seq_along(cols)) { value <- mtcars[ order(mtcars$cols[x]), ] }
120 r  dataframe  r-faq 

5
在ggplot上添加回归线
我正在努力在ggplot上添加回归线。我首先尝试使用abline,但是我没有设法使其正常工作。然后我尝试了这个... data = data.frame(x.plot=rep(seq(1,5),10),y.plot=rnorm(50)) ggplot(data,aes(x.plot,y.plot))+stat_summary(fun.data=mean_cl_normal) + geom_smooth(method='lm',formula=data$y.plot~data$x.plot) 但这也不起作用。

9
将LaTeX放入R图
我想使用以下任一组合将LaTeX排版设置添加到绘图的元素中R(例如:标题,轴标签,注释等)base/lattice或用ggplot2。 问题: 有没有办法 LaTeX使用这些软件包进入地块,如果可以,怎么做? 如果没有,是否需要其他软件包来完成此操作。 例如,通过此处讨论的软件包进行Python matplotlib编译:http : //www.scipy.org/Cookbook/Matplotlib/UsingTexLaTeXtext.usetex 是否有类似的过程可以用来生成此类图R?
119 r  latex  plot 

4
R物体识别
我经常以产生输出的函数结束,而该函数不了解其输出数据类型。我期望有一个列表,它最终是列表列表,数据框或其他内容。首次使用函数时,找出输出数据类型的好方法或工作流程是什么?
119 r  object 

1
在ggplot2中添加x和y轴标签
如何更改此图上的x和y标签? library(Sleuth2) library(ggplot2) discharge<-ex1221new$Discharge area<-ex1221new$Area nitrogen<-ex1221new$NO3 p <- ggplot(ex1221new, aes(discharge, area), main="Point") p + geom_point(aes(size= nitrogen)) + scale_area() + opts(title = expression("Weighted Scatterplot of Watershed Area vs. Discharge and Nitrogen Levels (PPM)"), subtitle="n=41")
119 r  label  ggplot2 

6
使用ggplot2时持续出现无效的图形状态错误
我相信我的数据框还可以,我的代码也可以。实际上,我已经消除了数据框的一部分和大多数图形代码,以使事情变得尽可能基本。但是,我仍然得到: Error in .Call.graphics(C_palette2, .Call(C_palette2, NULL)) : invalid graphics state 怎么了 数据如下: date trt var val 1/8/2008 cc sw5 0.2684138 1/8/2008 cc sw15 0.2897586 1/8/2008 cc sw5 0.2822414 2/8/2008 cc sw5 0.2494583 2/8/2008 cc sw5 0.2692917 2/8/2008 cc sw15 0.2619167 2/8/2008 cc sw5 0.204375 3/8/2008 cc sw5 0.2430625 3/8/2008 cc …
119 r  ggplot2 

5
将data.frame列名传递给函数
我正在尝试编写一个函数来接受data.frame(x)和column来自它的a。该函数在x上执行一些计算,然后返回另一个data.frame。我坚持将最佳实践方法传递给函数的列名。 两个最小的例子fun1和fun2下面产生所需的结果,能够执行操作x$column,使用max(),例如,但是,两者都依靠(至少对我而言)看起来不雅 致电substitute()并可能eval() 需要将列名作为字符向量传递。 fun1 <- function(x, column){ do.call("max", list(substitute(x[a], list(a = column)))) } fun2 <- function(x, column){ max(eval((substitute(x[a], list(a = column))))) } df <- data.frame(B = rnorm(10)) fun1(df, "B") fun2(df, "B") 例如,我希望能够将函数调用fun(df, B)为。我考虑过但尚未尝试过的其他选择: column作为列号的整数传递。我认为这样可以避免substitute()。理想情况下,函数可以接受任何一个。 with(x, get(column)),但即使有效,我认为这仍然需要 substitute 利用formula()和match.call(),我都没有丰富的经验。 子问题:do.call()比起首选eval()?
119 r  dataframe  r-faq 


6
替换dplyr中的“重命名”
我喜欢plyr的重命名功能rename。我最近开始使用dplyr,并且想知道是否存在使用dplyr中的函数重命名变量的简便方法,该方法与plyr一样容易使用rename吗?
118 r  rename  dplyr 

9
为什么R的ifelse语句不能返回向量?
我发现R的ifelse语句有时很方便。例如: ifelse(TRUE,1,2) # [1] 1 ifelse(FALSE,1,2) # [1] 2 但是,我对以下行为感到困惑。 ifelse(TRUE,c(1,2),c(3,4)) # [1] 1 ifelse(FALSE,c(1,2),c(3,4)) # [1] 3 这是我的薪水之上的设计选择吗?
118 r  if-statement  r-faq 

2
如何对data.table列进行重新排序(不进行复制)
data.table x给定列名的字符向量,我想对我的列重新排序neworder: library(data.table) x <- data.table(a = 1:3, b = 3:1, c = runif(3)) neworder <- c("c", "b", "a") 显然我可以做到: x[ , neworder, with = FALSE] # or x[ , ..neworder] # c b a # 1: 0.8476623 3 1 # 2: 0.4787768 2 2 # 3: 0.3570803 1 3 …
118 r  data.table 

6
获取所有变量的类型
在R中,我想在脚本末尾检索全局变量列表并对其进行迭代。这是我的代码 #declare a few sample variables a<-10 b<-"Hello world" c<-data.frame() #get all global variables in script and iterate over them myGlobals<-objects() for(i in myGlobals){ print(typeof(i)) #prints 'character' } 我的问题是,即使变量而且不是字符变量,也typeof(i)总是返回。如何在for循环中获取变量的原始类型?characterac
118 r  typeof 

2
将UNIX时代转换为Date对象
我正在绘制并在均匀分布的时间序列上执行计算。当前,时间戳记存储为整数,表示自UNIX纪元以来的秒数(例如1352068320),但是Date对象似乎更适合绘制。我如何进行转换? 我读过?Date,?as.Date和??epoch,但似乎已经错过了的信息。
118 r  time  r-faq 

8
转换data.table中的列类
我在使用data.table时遇到问题:如何转换列类?这是一个简单的示例:使用data.frame,我转换它没有问题,使用data.table,我只是不知道如何: df <- data.frame(ID=c(rep("A", 5), rep("B",5)), Quarter=c(1:5, 1:5), value=rnorm(10)) #One way: http://stackoverflow.com/questions/2851015/r-convert-data-frame-columns-from-factors-to-characters df <- data.frame(lapply(df, as.character), stringsAsFactors=FALSE) #Another way df[, "value"] <- as.numeric(df[, "value"]) library(data.table) dt <- data.table(ID=c(rep("A", 5), rep("B",5)), Quarter=c(1:5, 1:5), value=rnorm(10)) dt <- data.table(lapply(dt, as.character), stringsAsFactors=FALSE) #Error in rep("", ncol(xi)) : invalid 'times' argument #Produces error, does data.table …
118 r  data.table 

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.