Tag: r

ggplot2 – 抖动和位置一起闪避

我试图从GGplot2研讨会http://dl.dropbox.com/u/42707925/ggplot2/ggplot2slides.pdf重新创build一个数字。 在这种情况下,我试图生成示例5,抖动数据点受到闪避。 当我运行代码时,点以正确的线为中心,但没有抖动。 这是直接从演示文稿的代码。 set.seed(12345) hillest<-c(rep(1.1,100*4*3)+rnorm(100*4*3,sd=0.2), rep(1.9,100*4*3)+rnorm(100*4*3,sd=0.2)) rep<-rep(1:100,4*3*2) process<-rep(rep(c("Process 1","Process 2","Process 3","Process 4"),each=100),3*2) memorypar<-rep(rep(c("0.1","0.2","0.3"),each=4*100),2) tailindex<-rep(c("1.1","1.9"),each=3*4*100) ex5<-data.frame(hillest=hillest,rep=rep,process=process,memorypar=memorypar, tailindex=tailindex) stat_sum_df <- function(fun, geom="crossbar", …) {stat_summary(fun.data=fun, geom=geom, …) } dodge <- position_dodge(width=0.9) p<- ggplot(ex5,aes(x=tailindex ,y=hillest,color=memorypar)) p<- p + facet_wrap(~process,nrow=2) + geom_jitter(position=dodge) +geom_boxplot(position=dodge) p

TwitteR,ROAuth和Windows:注册成功,但证书validation失败

我试图用twitteR来获得大量Twitter用户的关注者数量。 其他许多问题对我来说都是非常有用的,但就我所知,似乎没有一个与我的问题直接相关。 我可以注册我的OAuth证书到twitter R会话,但是我似乎无法做任何事情,我只是得到这个消息: Error in function (type, msg, asError = TRUE) : SSL certificate problem, verify that the CA cert is OK. Details: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify fail 当我在不使用OAuth的情况下使用twitteR函数时,它们可以正常工作,不会出现任何错误或警告,但是我碰到了限制和受保护的帐户,我认为我可以通过OAuth避免这种情况。 以下是详细信息: library(twitteR) library(ROAuth) library(RCurl) # # Here's how I register my credentials # requestURL <- "https://api.twitter.com/oauth/request_token" accessURL = "https://api.twitter.com/oauth/access_token" authURL = "https://api.twitter.com/oauth/authorize" consumerKey = "————" consumerSecret […]

dplyr:如何在函数内使用group_by?

我想在另一个函数中使用dplyr::group_by函数,但是我不知道如何将parameter passing给这个函数。 有人可以提供一个工作的例子? library(dplyr) data(iris) iris %.% group_by(Species) %.% summarise(n = n()) # ## Source: local data frame [3 x 2] ## Species n ## 1 virginica 50 ## 2 versicolor 50 ## 3 setosa 50 mytable0 <- function(x, …) x %.% group_by(…) %.% summarise(n = n()) mytable0(iris, "Species") # OK ## Source: local data […]

如何使用图像作为ggplot中的一个点?

有没有什么方法可以使用特定的小图像作为散点图与ggplot2中的一个点。 理想情况下,我想要根据variables调整图像大小。 这是一个例子: library(ggplot2) p <- ggplot(mtcars, aes(wt, mpg)) p + geom_point(aes(size = qsec, shape = factor(cyl))) 所以我基本上想知道是否有办法提供一个特定的形象作为形状?

R:多层ggplot的自定义图例

我试图得到一个ggplot自定义传说与数据来自两个单独的数据框。 请参阅下面的重现性示例。 我试图完成的是有一个描述丝带填充,黑线和红线的图例。 require(ggplot2) x=seq(1,10,length=100) data=data.frame(x,dnorm(x,mean=6.5,sd=1)) names(data)=c('x','new.data') x.ribbon=seq(1,10,length=20) ribbon=data.frame(x.ribbon, dnorm(x.ribbon,mean=5,sd=1)+.01, dnorm(x.ribbon,mean=5,sd=1)-.01, dnorm(x.ribbon,mean=5,sd=1)) names(ribbon)=c('x.ribbon','max','min','avg') ggplot()+geom_ribbon(data=ribbon,aes(ymin=min,ymax=max,x=x.ribbon),fill='lightgreen')+ geom_line(data=ribbon,aes(x=x.ribbon,y=avg),color='black')+ geom_line(data=data,aes(x=x,y=new.data),color='red')+ xlab('x')+ylab('density')

在facet_wrap图中添加“浮动”轴标签

我与这个用户有同样的问题 – 我有一个“锯齿状”的小平面图,其中最下面一排的面板比其他行less,我希望每列的底部都有x轴刻度。 build议的解决scheme是设置scales="free_x" 。 (在ggplot 0.9.2.1;我相信我所寻找的行为在早期版本中是默认的)。在我的情况下,这是一个糟糕的解决scheme:我的实际轴标签将会相当长,所以把它们放在每一行下方将占用太多房间。 结果是这样的: x <- gl(3, 1, 15, labels=paste("this is a very long axis label ", letters[1:5])) y <- rnorm(length(x)) l <- gl(5, 3, 15) d <- data.frame(x=x, y=y, l=l) ggplot(d, aes(x=x, y=y)) + geom_point() + facet_wrap(~l, scales="free_x") + theme(axis.text.x=element_text(angle=90, hjust=1)) 在这里的评论中,Andriebuild议可以通过grid手动完成,但我不知道如何开始。

在R中的单行中,在LHS上分配多个新variables

我想在R中的一行中分配多个variables。是否可以做这样的事情? values # initialize some vector of values (a, b) = values[c(2,4)] # assign a and b to values at 2 and 4 indices of 'values' 通常我想在一行中分配5-6个variables,而不是多行。 有其他select吗?

ggplot2中更简单的人口金字塔

我想用ggplot2创build一个人口金字塔。 这个问题之前被问到过 ,但我相信解决scheme一定要简单得多。 test <- (data.frame(v=rnorm(1000), g=c('M','F'))) require(ggplot2) ggplot(data=test, aes(x=v)) + geom_histogram() + coord_flip() + facet_grid(. ~ g) 产生这个图像。 在我看来,创build人口金字塔的唯一步骤就是将第一个方面的x轴倒置,以便从50到0,而保持第二个方面不变。 谁能帮忙?

用两个字的string大写两个单词的首字母

假设我有两个字的string,我想把它们两个都大写。 name <- c("zip code", "state", "final count") Hmisc包中有一个capitalize大写的函数,但我不确定如何得到大写的第二个单词。 capitalize的帮助页面并不意味着它可以执行该任务。 library(Hmisc) capitalize(name) # [1] "Zip code" "State" "Final count" 我想得到: c("Zip Code", "State", "Final Count") 三字串的情况如何: name2 <- c("I like pizza")

对“模式”,“阶级”和“types”的事物types进行全面考察是不够的

语言R混淆了我。 实体有模式和类 ,但即使这样也不足以充分描述实体。 这个答案说 在R中,每个“对象”都有一个模式和一个类。 所以我做了这些实验: > class(3) [1] "numeric" > mode(3) [1] "numeric" > typeof(3) [1] "double" 到目前为止还不够公平,但是我传递了一个向量: > mode(c(1,2)) [1] "numeric" > class(c(1,2)) [1] "numeric" > typeof(c(1,2)) [1] "double" 这没有意义。 当然,整数向量应该有一个不同的类或不同的模式,而不是一个整数? 我的问题是: R中的所有东西都有(正好一个) 类吗? R中的所有东西都有(恰好一种) 模式吗? 如果有的话,“typeof”告诉我们什么? 还需要其他什么信息来完整描述实体? (例如,“vector性”存储在哪里?) 更新 :显然,文字3只是一个长度为1的向量。没有标量。 OK但是…我尝试mode("string")并得到"character" ,导致我认为一个string是一个字符的vector。 但如果这是真的,那么这应该是真实的,但它不是! c('h','i') == "hi"