小编Dre*_*een的帖子

如何打印(到纸)格式良好的数据框

我想将格式良好的数据帧打印到纸上,最好是从脚本中打印出来.(我正在尝试使用仪器收集数据并使用R脚本自动处理和打印).

现在我可以使用数据框写入文本文件write.table(),但这有两个问题:

  1. 生成的文本文件格式不正确(列不一定与其标题对齐)和
  2. 我不知道如何从R内打印文本文件.

我正在寻找一般策略而不是特定代码(尽管代码也很棒!).Sweave会是最方便的解决方案吗?原则上我可以socketConnection()用来打印到打印机 - 如果是这样,我在哪里可以学习如何使用它(我没有发现文档非常有帮助).

formatting r dataframe

77
推荐指数
7
解决办法
7万
查看次数

围绕点放置边框

我想使用ggplot2在散点图上的点周围放置黑色边框,这些点基于数据填充.另外,我想避免使用黑色边框的图例条目,因为它将在每个点上.基本上我正在寻找这个情节,但每个点周围都有黑色边框.

df <- data.frame(id=runif(12), x=1:12, y=runif(12))
ggplot(df, aes(x=x, y=y))+geom_point(aes(colour=id), size=12)
Run Code Online (Sandbox Code Playgroud)

我想要的情节,除了点周围没有边框

作为奖励,我希望没有黑色边框的传奇条目.我最好的尝试是:

df <- data.frame(id=runif(12), x=1:12, y=runif(12))
ggplot(df, aes(x=x, y=y))+geom_point(aes(fill=id, colour="black"), size=12)
Run Code Online (Sandbox Code Playgroud)

这使:

根本不是我想要的情节

我不明白为什么那不能给我我想要的东西,更糟糕的是(对于我在ggplot2中的教育)我不明白为什么它似乎没有将填充颜色映射到任何东西!有帮助吗?

也许如果我可以获得轮廓和填充映射,我可以使用像这里的最后一组数字中的那个黑客来关闭传说.

r ggplot2

51
推荐指数
4
解决办法
6万
查看次数

在facet_wrap图中添加"浮动"轴标签

我和这个用户有同样的问题- 我有一个'锯齿状'刻面图,其中底行的面板比其他行少,我想在每列的底部有x轴刻度.

该问题的建议解决方案是设置scales="free_x".(在ggplot 0.9.2.1中;我相信我正在寻找的行为在早期版本中是默认的.)在我的情况下,这是一个糟糕的解决方案:我的实际轴标签会相当长,所以将它们放在每一行下会占用太多房间.结果是这样的:

 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))
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

这里的评论中,Andrie建议可以手动完成,grid但我不知道如何开始.

r ggplot2 facet-wrap

42
推荐指数
1
解决办法
7403
查看次数

如何在ggplot2中获得反转的log10比例?

我想使用ggplot2制作一个带有反转的log10 x比例的图:

require(ggplot2)
df <- data.frame(x=1:10, y=runif(10))
p <- ggplot(data=df, aes(x=x, y=y)) + geom_point() 
Run Code Online (Sandbox Code Playgroud)

但是,似乎我可以使用 log10比例反转比例:

p + scale_x_reverse() + scale_x_log10() 
Run Code Online (Sandbox Code Playgroud)

log10规模,但没有逆转

p + scale_x_reverse()
Run Code Online (Sandbox Code Playgroud)

反转比例,但不是log10

我想这是合乎逻辑的,如果一个图层只能有一个比例.当然,我可以通过自己对数据df$xLog <- log10(df$x) 框进行日志转换来破解它,但是这个解决方案似乎与ggplot的精神背道而驰.有没有办法在不进行ggplot调用外部的数据转换的情况下获得这种情节?

r ggplot2

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

如何使用latex来注释()ggplot

我想将乳胶文本添加到ggplot2图中annotate().使用expression(),描述在这里添加乳胶轴标签,似乎并没有工作.以机智:

# Use expression() to create subscripted text
p <- ggplot(mpg, aes(x=cty, y=hwy)) + geom_point() +
  scale_x_continuous(expression(text[subscript])) 

# But expression() in annotate adds nothing to the plot
p + annotate("text", x=10, y=40, label=expression(text[subscript])) 

# Passing regular text to annotate works fine
p + annotate("text", x=10, y=40, label="foo") 
Run Code Online (Sandbox Code Playgroud)

为什么expressions的处理方式annotate与其他ggplot函数不同?我怎样才能用乳胶注释?

r ggplot2

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

R正则表达式:"[:digit:]"的意外行为

我想从字符向量中提取以数字开头的元素,但是有一些关于POSIX正则表达式语法的东西,我不明白.

我想是的

vec <- c("012 foo", "305 bar", "other", "notIt 7")
grep(pattern="[:digit:]", x=vec)
Run Code Online (Sandbox Code Playgroud)

会返回1 2 4因为它们是其中包含数字的四个元素.但实际上它会回归3 4.

同样按照我的预期grep(pattern="^0", x=vec)返回1,因为元素1以零开头.但是grep(pattern="^[:digit:]", x=vec)返回,integer(0)而我希望它返回,1 2因为那些是以数字开头的元素.

我怎么会误解语法?

regex r

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

Sweave用户如何与Word用户协作?

我想将此处讨论的问题提交给SO社区:Sweave用户与Word用户协作的最佳方式是什么?

我正在尝试将我的整个工作流程移动到R和Sweave(或类似的,例如Knitr可能会证明更有用).但是,我工作流程的最后一步通常是与合作者一起撰写手稿.他们的工作方式是来回传递MS Word文档,并使用Track Changes编辑文本.

让我们规定我不能说服他们任何人学习任何新软件 - 他们的过程不会改变.我正在寻找一种直截了当的方式:

1.)将Sweave创建的文档发送给共同作者

2.)允许他们在Word中打开文档并进行跟踪更改

3.)接收编辑后的文件并将其重新纳入Sweave,理想情况是以某种方式强调共同作者的变更

4.)如果解决方案适用于OSX,那将是很好的.

关于R帮助邮​​件列表的讨论主要关注SWord,它似乎没有文档,仅适用于Windows.有谁知道它是否好?关于Vanderbilt的生物统计学wiki的讨论很好地将Sweave文档转换成Word可读形式,但没有关于如何将编辑的Word文档与Sweave集成.

r ms-word sweave

19
推荐指数
2
解决办法
1252
查看次数

从RStudio到Github的回购

我喜欢github和RStudio的工作流程.最近,我创建了一个项目模板,它可以创建目录和脚本等,并希望在本地创建并推送到github.

在过去,我通过https://github.com/在RStudio中使用版本控制创建了一个项目的repo 来创建本地repo,然后转储我已经拥有的所有文件.

这似乎浪费时间.如何使用.Rproj文件获取已存在于RStudio中的目录/ repo并上传到github而不首先在https://github.com/上创建shell repo ?

我认为这可以节省工作流程的时间.

我想我可以按照方向-在 - 添加版本控制到项目下添加版本控制但这不允许我推送到github(也不应该因为RStudio如何知道你想要哪个git网站推到).

r github rstudio

18
推荐指数
1
解决办法
3092
查看次数

对于facet_grid图的所有方面强制X轴文本

我和这个用户有同样的问题:我想制作一个facet_grid带有离散x轴的图,我想让x轴标签写在每个面下,而不是只在底面的一行面下面.例如:

# Drop some factor levels to make the plot smaller 
diamondSub <- subset(diamonds, (cut=="Ideal" | cut=="Premium") & 
                     (color=="E" | color=="I"))

# Note that scales="free_x" has no practical effect here
ggplot(diamondSub, aes(x=clarity, y=price)) + 
  geom_blank()+ 
  geom_boxplot() +
  facet_grid(cut~color, scales="free_x")
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

但是,我不想使用该帖子的解决方案,而只是使用facet_wrap而不是facet_grid,因为我更喜欢facet_grid用条形文本标记条形文本,列的顶部有一个变量,而另一个变量标注行.

当所有x轴实际上相同时,有没有办法在每个面下获得x轴标签facet_grid

r ggplot2 gtable

18
推荐指数
1
解决办法
4393
查看次数

何时使用近似与约

approxfun状态的文档说它"通常比approx" 更有用".我正在努力让自己的头脑approxfun.什么时候approxfunapprox什么时候更有用(什么时候approx更有用)?

r

14
推荐指数
1
解决办法
1万
查看次数

标签 统计

r ×10

ggplot2 ×5

dataframe ×1

facet-wrap ×1

formatting ×1

github ×1

gtable ×1

ms-word ×1

regex ×1

rstudio ×1

sweave ×1