小编Sam*_*ift的帖子

指定ylim时geom_bar栏不显示

我遇到了geom_bars的问题,当我在y轴上指定限制时,不会渲染条形.我相信以下内容应该重现问题:

data <- structure(list(RoleCond = structure(c(1L, 1L, 2L, 2L), .Label = c("Buyer", "Seller"), class = "factor"), 
                   ArgCond = structure(c(1L, 2L, 1L, 2L), .Label = c("No Argument", "Argument"), class = "factor"), 
                   mean = c(2210.71428571429, 2142.70833333333, 2282.40740740741, 2346.2962962963), 
                   se = c(20.1231042081511, 16.7408757749718, 20.1471554637891, 15.708092540868)), 
                   .Names = c("RoleCond", "ArgCond", "mean", "se"), row.names = c(NA, -4L), class = "data.frame")

library(ggplot2)    
ggplot(data=data, aes(fill=RoleCond, y=mean, x=ArgCond)) + 
      geom_bar(position="dodge", stat="identity") + 
      geom_errorbar(limits, position=dodge, width=0.1, size=.75) + 
      scale_y_continuous(limits=c(2000,2500))
Run Code Online (Sandbox Code Playgroud)

这给了我这个

没有酒吧

没有指定限制的相同代码工作正常.geom_errorbar()似乎与问题无关,但它确实说明了条形图应该出现的位置.

我已经尝试过使用coord_cartesian(ylim=c(2000,2500))哪种方法来限制y轴并显示条形图,但轴标签搞砸了,我不明白我在做什么.

谢谢你的任何建议!(我使用的是R 2.15.0和ggplot2 0.9.0)

r ggplot2

33
推荐指数
3
解决办法
2万
查看次数

mapply基础知识? - 如何从两个向量和一个函数创建矩阵

我正在尝试创建一个data.frame,从中创建一个图形.我有一个函数和两个向量,我想用作两个输入.这有点简化,但基本上我只有:

relGPA <- seq(-1.5,1.5,.2)
avgGPA <- c(-2,0,2)

f <- function(relGPA, avgGPA) 1/(1+exp(sum(relGPA*pred.model$coef[1],avgGPA*pred.model$coef[2])))
Run Code Online (Sandbox Code Playgroud)

我想要的是一个data.frame,其中avgGPA值有3列,relGPA值有16行,单元格中有结果值.

我为这是多么基本道歉,但我向你保证,我试图在没有你帮助的情况下实现这一目标.我已经尝试过关于sapply和mapply手册页的示例,但是我只是对R来说有点太新了,看看我正在尝试做什么.

谢谢!

r matrix mapply

6
推荐指数
1
解决办法
2406
查看次数

结合R中标准偏差的现有功能?

我有4个具有已知手段和标准偏差的人群.我想知道伟大的意思和伟大的sd.平均值显然很容易计算,但R有一个方便的效用函数weighted.mean().是否存在组合标准偏差的类似功能?

计算并不复杂,但现有的功能可以使我的代码更清晰,更容易理解.

奖金问题,你用什么工具来搜索这样的功能?我知道它必须在那里,但我做了很多搜索,但找不到它.谢谢!

aggregate r standard-deviation

6
推荐指数
2
解决办法
3931
查看次数

指定knit2html的输出路径

我在为knit2html或其依赖函数生成的html指定输出路径时遇到问题.我想在knit2html()的调用中指定'outfile',但是我得到了错误,

knit2html出错(input ="test.Rmd",output ="test-abcd.html"):
找不到对象'outfile'

'output'是markdownToHTML的一个参数,我认为它应该可行.我找不到源中使用'outfile'的任何地方.

这应该重现我的经验.

library(knitr)
library(markdown)

# a minimal example
writeLines(c("```{r hello-random, echo=TRUE}", "rnorm(5)", "```"), 
           "test.Rmd")

# this works and outputs to test.html
knit2html(input = "test.Rmd")

# this generates the above error
knit2html(input   = "test.Rmd", 
          output  = "test-abcd.html")

# breaking it down into two steps works in this simple case,
# but not in my application.  trying to diagnose that difference currently
knit("test.Rmd")    
markdownToHTML("test.md", 
               output="test-abcd.html")
Run Code Online (Sandbox Code Playgroud)

相关版本信息可能有用吗?

sessionInfo()
R version 3.0.0 (2013-04-03)
Platform: x86_64-pc-linux-gnu (64-bit)

other attached packages: …
Run Code Online (Sandbox Code Playgroud)

r knitr r-markdown

6
推荐指数
1
解决办法
4251
查看次数

在R中重塑从长到半的数据

我有数据,每个参与者对9个对象(27个判断)做出3个判断.9个物体在3x3设计中变化(在受试者内),因此有2个因素.

我从ID + 27数据列开始,我需要

  • ID
  • 2个因素列:表现,情况
  • 3个值列:Success,ProbAdmit,Admit

我已经阅读了关于reshape()和melt()以及cast()的手册,但还没有弄清楚我需要做些什么来实现它.这是我目前的进度,您可以从中查看我的实际数据.

scsc3 <- read.csv("http://swift.cbdr.cmu.edu/data/SCSC3-2006-10-10.csv")
library(reshape)
scsc3.long <- melt(scsc3,id="Participant")
scsc3.long <- cbind(scsc3.long,colsplit(scsc3.long$variable,split="[.]",names=c("Item","Candidate","Performance","Situation")))
scsc3.long$variable <- NULL
scsc3.long$Candidate <- NULL
Run Code Online (Sandbox Code Playgroud)

上面的代码告诉我这个:

Participant  value  Item      Performance  Situation
4001         5.0    Success   GL           IL
4001         60     ProbAdmit GL           IL
4001         1      Admit     GL           IL
4002         ....
Run Code Online (Sandbox Code Playgroud)

我需要的是像这样的数据帧

Participant Performance  Situation SuccessValue ProbAdmitValue AdmitValue
4001        GL           IL        5.0          60             1
...
Run Code Online (Sandbox Code Playgroud)

谢谢!

r reshape dataframe

3
推荐指数
1
解决办法
470
查看次数