对于每个X值,我计算了每个Y值的平均Y值和标准偏差( sd ) x = 1:5 y = c(1.1, 1.5, 2.9, 3.8, 5.2) sd = c(0.1, 0.3, 0.2, 0.2, 0.4) plot (x, y) 我如何使用标准偏差来为我的图的每个数据点添加误差线?
我search了一个参考来学习R中的replace函数,但是我还没有find。 我试图理解R中replace函数的概念。我有下面的代码,但我不明白它: "cutoff<-" <- function(x, value){ x[x > value] <- Inf x } 然后我们打电话切断: cutoff(x) <- 65 任何人都可以解释R中的replace函数吗?
我有一个数据集,我必须做几十个地块。 数据由每组30个组和几组测量值组成。 大多数地块不会一次使用所有的群体。 我的目标是为一组组合设置一个单一的颜色调色板,使得所有graphics中的任何给定的组都是相同的颜色。 在下面的例子中,这意味着Group C在Plot 1和Plot 2是相同的颜色。 我的问题是如何去做这件事。 我已经尝试了scale_fill_manual(和适当的scal_color_manual)的几个变种。 虽然颜色是从指定的调色板中select出来的,但我似乎无法通过组指示调色板,或者以某种方式“跳过”与缺失组相对应的颜色 我也想过尝试添加颜色信息作为正在绘制的数据列,但是我不确定如何使用此列作为组的颜色。 # SAMPLE DATA: DT1 <- data.table(Name=c("C_sub1", "A_sub1", "A_sub2"), Value=c(2,5,3), Group=c("C", "A", "A"), key="Group") DT2 <- data.table(Name=c("A_sub1", "B_sub1", "C_sub1", "C_sub2"), Value=c(4,3,6,3), Group=c("A", "B", "C", "C"), key="Group") # SAMPLE Color Pallette ColorsDT <- data.table(Group=LETTERS[1:5], Color=c("#333BFF", "#CC6600", "#9633FF", "#E2FF33", "#E3DB71"), key="Group") # Add a column for […]
在最近与同学们的交谈中,我一直主张避免使用全局variables,除非存储常量。 这是一种典型的应用统计types的程序,每个人都编写自己的代码,项目规模很小,所以人们很难看到由于习惯不稳而造成的麻烦。 在谈到避免全局variables时,我将重点放在全局variables可能会引起麻烦的以下原因上 ,但是我想在R和/或Stata中有一些例子来遵循这些原则(以及其他您可能认为重要的原则),而我很难想出可信的。 非局域性:全局variables使得debugging变得更加困难,因为他们更难理解代码stream 隐式耦合:全局通过允许遥远的代码段之间的复杂交互来打破函数式编程的简单性 命名空间冲突:通用名(x,i等)被重用,导致命名空间冲突 对这个问题的一个有用的答案将是一个可重复和独立的代码片段,其中全局性导致特定types的麻烦,理想情况下与其中纠正该问题的另一个代码片段。 如果需要,我可以生成更正的解决scheme,所以问题的例子更重要。 相关链接 : 全局variables不好 全局variables是不好的?
我有以下数据框: uniq <- structure(list(year = c(1986L, 1987L, 1991L, 1992L, 1993L, 1994L, 1995L, 1996L, 1997L, 1998L, 1999L, 2000L, 2001L, 2002L, 2003L, 2004L, 2005L, 2006L, 2007L, 2008L, 2009L, 2010L, 2011L, 2012L, 2013L, 2014L, 1986L, 1987L, 1991L, 1992L, 1993L, 1994L, 1995L, 1996L, 1997L, 1998L, 1999L, 2000L, 2001L, 2002L, 2003L, 2004L, 2005L, 2006L, 2007L, 2008L, 2009L, 2010L, 2011L, 2012L, […]
我试图将列索引传递给ggplot作为我将重复使用的函数的一部分。 喜欢: myplot <- function(df){ ggplot(df, aes(df[, 1], df[, 2])) + geom_point() } 我将始终使用第一列作为我的xvariables,第二列作为我的yvariables,但列名称在数据集之间更改。 我已经搜遍了所有的想法? 编辑: 这是我使用的答案: require(ggplot2) myplot <- function(df){ ggplot(df, aes_string(colnames(df)[1], colnames(df)[2])) + geom_point() }
我有一个简单的数据框,我正在试图使用ggplot2做一个组合的线和点图。 假设我的数据如下所示: df <- data.frame(x=rep(1:10,2), y=c(1:10,11:20), group=c(rep("a",10),rep("b",10))) 我正在试图做一个情节: g <- ggplot(df, aes(x=x, y=y, group=group)) g <- g + geom_line(aes(colour=group)) g <- g + geom_point(aes(colour=group, alpha = .8)) g 结果看起来很好,只有一个例外。 它有一个额外的图例,显示我的geom_point图层的alpha。 如何让图例显示组颜色,但不显示我的alpha设置?
我想要绘制几个不同的类别。 这些是不同的类别,每个类别都有自己的一组标签,但在文档中组合在一起是有意义的。 以下给出一些简单的堆叠条形图示例: df <- data.frame(x=c("a", "b", "c"), y=c("happy", "sad", "ambivalent about life")) ggplot(df, aes(x=factor(0), fill=x)) + geom_bar() ggplot(df, aes(x=factor(0), fill=y)) + geom_bar() 问题是,不同的标签,传说有不同的宽度,这意味着情节有不同的宽度,导致事情看起来有点愚蠢,如果我做一个表或子\subfigure元素。 我该如何解决这个问题? 有没有一种方法可以明确地设置graphics或图例的宽度(绝对或相对)?
我正在尝试使用data.table来加速处理由几个较小的合并数据框架组成的大数据框(300k x 60)。 我是data.table的新手。 目前的代码如下 library(data.table) a = data.table(index=1:5,a=rnorm(5,10),b=rnorm(5,10),z=rnorm(5,10)) b = data.table(index=6:10,a=rnorm(5,10),b=rnorm(5,10),c=rnorm(5,10),d=rnorm(5,10)) dt = merge(a,b,by=intersect(names(a),names(b)),all=T) dt$category = sample(letters[1:3],10,replace=T) 我想知道是否有比以下更有效的方式来总结数据。 summ = dt[i=T,j=list(a=sum(a,na.rm=T),b=sum(b,na.rm=T),c=sum(c,na.rm=T), d=sum(d,na.rm=T),z=sum(z,na.rm=T)),by=category] 我真的不想用手input所有的50列计算,而eval(paste(…))似乎笨重。 我看了下面的例子,但是对于我的需求来说似乎有些复杂。 谢谢 如何总结一个data.table跨多个列
我有几个数据集,有75,000个观察值,一个typevariables可以取值0-4。 我想为所有types的每个数据集添加五个新的虚拟variables。 我可以想出这样做的最佳方式如下: # For the 'binom' data set create dummy variables for all types in all data sets binom.dummy.list<-list() for(i in 0:4){ binom.dummy.list[[i+1]]<-sapply(binom$type,function(t) ifelse(t==i,1,0)) } # Add and merge data binom.dummy.df<-as.data.frame(do.call("cbind",binom.dummy.list)) binom.dummy.df<-transform(binom.dummy.df,id=1:nrow(binom)) binom<-merge(binom,binom.dummy.df,by="id") 虽然这个工作,它是非常慢(合并function甚至崩溃了几次)。 有没有更有效的方法来做到这一点? 也许这个function是我不熟悉的包的一部分?