小编JD *_*ong的帖子

列出R数据文件的内容而不加载

我有时会print( load( "myDataFile.RData" ) )在加载数据文件时列出数据文件的内容.有没有办法列出内容而不加载数据文件中包含的对象?

r

21
推荐指数
2
解决办法
5371
查看次数

改变ggplot2中密度图的颜色

我用ggplot2创建了一对漂亮的概率密度函数,如下所示:

require(ggplot2)
set.seed(2)
data <- rbind( data.frame(type="a", lr=rnorm(100)), data.frame(type="b", lr=rnorm(100,.5,1.2)))
m <- ggplot(data, aes(x=lr)) 
m <- m + geom_density(aes(fill=factor(type)), size=2, alpha=.4) 
m
Run Code Online (Sandbox Code Playgroud)

这会产生一个很好的情节:

在此输入图像描述

但是我真的希望那个情节有不同的颜色阴影.我似乎无法弄明白.我认为以下内容可行:

m + scale_colour_manual( values = c("red","blue"))
Run Code Online (Sandbox Code Playgroud)

但没有运气.我也尝试将填充颜色传递给geom_density()调用,但无济于事.

如何更改填充颜色?

r ggplot2

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

用ggplot2和R创建一个Pareto图表

我一直在努力学习如何使用ggplot2包在R中制作Pareto Chart.在制作条形图或直方图的许多情况下,我们需要按X轴排序的项目.在帕累托图中,我们希望按Y轴中的值降序排序的项目.有没有办法让ggplot绘制由Y轴上的值排序的项目?我首先尝试排序数据框,但似乎ggplot重新排序它们.

例:

val <- read.csv("http://www.cerebralmastication.com/wp-content/uploads/2009/11/val.txt")
val<-with(val, val[order(-Value), ])
p <- ggplot(val)
p + geom_bar(aes(State, Value, fill=variable), stat = "identity", position="dodge") + scale_fill_brewer(palette = "Set1")
Run Code Online (Sandbox Code Playgroud)

数据帧val已排序,但输出如下所示:

alt text http://www.cerebralmastication.com/wp-content/uploads/2009/11/exp.png

哈德利正确地指出,这会产生一个更好的图形来显示实际与预测:

ggplot(val, aes(State, Value)) + geom_bar(stat = "identity", subset = .(variable == "estimate"), fill = "grey70") + geom_crossbar(aes(ymin = Value, ymax = Value), subset = .(variable == "actual"))
Run Code Online (Sandbox Code Playgroud)

返回:

alt text http://www.cerebralmastication.com/wp-content/uploads/2009/11/exp1.png

但它仍然不是帕累托图.有小费吗?

r graph ggplot2

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

R的OAuth访问

我正在尝试使用R来获取需要OAuth身份验证的一些网络数据.在CRAN和RSeek.org上搜索有关OAuth + R的信息,不提供任何信息.使用OAuth使用R访问RESTful API的任何提示?

我正在考虑使用一些Python/Perl/Ruby来获取数据,将其保存到文本文件中,然后使用R进行处理.我宁愿完全保留在R中,但似乎OAuth是一个障碍.

r oauth

19
推荐指数
1
解决办法
6841
查看次数

将聚合值连接回原始数据框

我反复使用的设计模式之一是在数据帧上执行"分组依据"或"拆分,应用,组合(SAC)",然后将聚合数据连接回原始数据.例如,当计算每个县与具有许多州和县的数据框中的州平均值的偏差时,这很有用.我的总计算很少只是一个简单的意思,但它就是一个很好的例子.我经常通过以下方式解决这个问题:

require(plyr)
set.seed(1)

## set up some data
group1 <- rep(1:3, 4)
group2 <- sample(c("A","B","C"), 12, rep=TRUE) 
values <- rnorm(12)
df <- data.frame(group1, group2, values)

## got some data, so let's aggregate

group1Mean <- ddply( df, "group1", function(x) 
                     data.frame( meanValue = mean(x$values) ) )
df <- merge( df, group1Mean )
df
Run Code Online (Sandbox Code Playgroud)

这产生了如下的良好聚合数据:

> df
   group1 group2   values meanValue
1       1      A  0.48743 -0.121033
2       1      A -0.04493 -0.121033
3       1      C -0.62124 -0.121033
4       1      C -0.30539 -0.121033
5       2 …
Run Code Online (Sandbox Code Playgroud)

r plyr

19
推荐指数
4
解决办法
4512
查看次数

将数据从多行转换为多列

我有一个以标准化方式从数据库中获取的数据,其中包含年份,状态和值的字段.

我想对数据进行分析,并且需要格式化每年是一个字段而不是记录.所以我想要每个记录都是状态的数据,然后每年都有一个字段和这些字段的每个值是那一年和那个州的价值.

这样做有命令吗?

所以我有:

State  Year  Value  
   KY  1998     56  
   KY  1997     78  
   IL  1998     48  
   IL  1997     72
Run Code Online (Sandbox Code Playgroud)

而且我要:

State  1997_value  1998_value  
   KY          78          56  
   IL          72          48
Run Code Online (Sandbox Code Playgroud)

r reshape

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

使用R在GGPLOT2散点图上绘制两个数据向量

我一直在尝试两者ggplot2lattice绘制数据面板.我在ggplot2模型周围缠绕时有点麻烦.特别是,如何在每个面板上绘制带有两组数据的散点图:

lattice我能做到这一点:

xyplot(Predicted_value + Actual_value ~ x_value | State_CD, data=dd)
Run Code Online (Sandbox Code Playgroud)

这将为每个列提供每个State_CD的面板

我可以做一个专栏ggplot2:

pg <- ggplot(dd, aes(x_value, Predicted_value)) + geom_point(shape = 2) 
      + facet_wrap(~ State_CD) + opts(aspect.ratio = 1)
print(pg)
Run Code Online (Sandbox Code Playgroud)

我不能理解的是如何将Actual_value添加到上面的ggplot中.

编辑哈德利指出,通过可重复的例子,这真的会更容易.这里的代码似乎有效.使用ggplot有更好或更简洁的方法吗?为什么添加另一组点到ggplot的语法与添加第一组数据有什么不同?

library(lattice)
library(ggplot2)

#make some example data
dd<-data.frame(matrix(rnorm(108),36,3),c(rep("A",24),rep("B",24),rep("C",24)))
colnames(dd) <- c("Predicted_value", "Actual_value", "x_value", "State_CD")

#plot with lattice
xyplot(Predicted_value + Actual_value ~ x_value | State_CD, data=dd)

#plot with ggplot
pg <- ggplot(dd, aes(x_value, Predicted_value)) + geom_point(shape = 2) + facet_wrap(~ …
Run Code Online (Sandbox Code Playgroud)

plot r ggplot2 lattice

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

用R读取ssl上的csv文件

现在整个世界都在努力使用SSL(这个决定很有意义)我们中的一些人使用github和相关服务来存储csv文件有一点挑战.从URL读取时,read.csv()函数不支持SSL.为了解决这个问题,我正在做一个小舞蹈,我喜欢称之为SSL歌舞伎舞蹈.我用RCurl抓取文本文件,将其写入临时文件,然后用read.csv()读取它.这样做有更顺畅的方法吗?更好的解决方案?

这是SSL kabuki的一个简单示例:

require(RCurl)
myCsv <- getURL("https://gist.github.com/raw/667867/c47ec2d72801cfd84c6320e1fe37055ffe600c87/test.csv")
temporaryFile <- tempfile()
con <- file(temporaryFile, open = "w")
cat(myCsv, file = con) 
close(con)

read.csv(temporaryFile)
Run Code Online (Sandbox Code Playgroud)

ssl r rcurl

18
推荐指数
4
解决办法
8593
查看次数

在Sweave中使用Tufte-Latex类

我必须承认今天是我使用Sweave或LaTeX的第一天.对,是真的.我今天意识到,在没有我参与的情况下,我的"40岁以前"清单并没有自行解决.像我这一代人一样,学习Sweave和LaTeX就在我的名单上.

所以有了这么长的序言,我有一个非常好的第一个Sweave文档:

\documentclass{article}
\begin{document}
\title{Look Mom! I'm doing \LaTeX}
\author{JD Long}
\maketitle
\section{Where I get both funky and fresh}
<<make some randomness>>=
  set.seed(12)
  t <- rnorm(100)
@
and an example plot
\begin{center}
<<fig=TRUE,echo=FALSE>>=
  plot(density(t))
@
\end{center}
This is a very simple example of how we might get started with Sweave. You know what comes next, right? That's right... Lorem Ipsum, ladies! 

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin sed sem est. Pellentesque massa magna, ullamcorper eget lacinia sit …
Run Code Online (Sandbox Code Playgroud)

latex r sweave tufte

18
推荐指数
3
解决办法
2137
查看次数

将数据帧转换为特定格式的频率表

我有一个data.frame,我正在尝试创建一个频率表,显示每行的值的频率.所以我从这样的事情开始:

d <- data.frame(a=c(1,2,3), b=c(3,4,5), c=c(1,2,5))
Run Code Online (Sandbox Code Playgroud)

看起来像这样:

  a b c
  1 3 1
  2 4 2
  3 5 5
Run Code Online (Sandbox Code Playgroud)

我真正想要创建的是一个应急数据框架或矩阵,如下所示:

1, 2, 3, 4, 5, 6, 7, 8, 9
2, 0, 1, 0, 0, 0, 0, 0, 0
0, 2, 0, 1, 0, 0, 0, 0, 0
0, 0, 1, 0, 2, 0, 0, 0, 0
Run Code Online (Sandbox Code Playgroud)

顶行只是一个标签行,不需要在最终结果中.但我在那里添加它是为了说明.每行显示数字1:9以及每个数字在起始数据的每一行中显示的次数.

我不能用一种简单的方法来创造这个.虽然看起来这个table()功能应该有所帮助,但我无法让它给我任何爱.任何帮助或想法都表示赞赏.

r

18
推荐指数
2
解决办法
4762
查看次数

标签 统计

r ×10

ggplot2 ×3

graph ×1

latex ×1

lattice ×1

oauth ×1

plot ×1

plyr ×1

rcurl ×1

reshape ×1

ssl ×1

sweave ×1

tufte ×1