小编JD *_*ong的帖子

使用ggplot和R绘制预定义的密度函数

我有三个不同长度的数据集,我想在同一个图上绘制所有三个的密度函数.这是基本图形直接:

n <- c(rnorm(10000), rnorm(10000))
a <- c(rnorm(10001), rnorm(10001, 0, 2))
p <- c(rnorm(10002), rnorm(10002, 2, .5))

plot(density(n))
lines(density(a))
lines(density(p))
Run Code Online (Sandbox Code Playgroud)

这给了我这样的东西:

alt text http://www.cerebralmastication.com/wp-content/uploads/2009/10/density.png

但我真的想用GGPLOT2做这件事,因为我想添加其他只有GGPLOT2可用的功能.看来GGPLOT真的想拿出我的经验数据并为我计算密度.它给了我一堆唇,因为我的数据集有不同的长度.那么如何在GGPLOT2中绘制这三个密度?

r ggplot2

7
推荐指数
1
解决办法
2216
查看次数

从R中的实际点到建模点丢弃线

昨天我研究了普通最小二乘法(OLS)与主成分分析(PCA)之间差异的一个例子.为了说明我想要显示OLS和PCA最小化的错误,所以我绘制了实际值,预测线,然后我手动(使用GIMP)绘制了一条下拉线来说明一些错误术语.如何编写R中错误行的创建?这是我用于示例的代码:

set.seed(2)
x <- 1:100

y <- 20 + 3 * x
e <- rnorm(100, 0, 60)
y <- 20 + 3 * x + e

plot(x,y)
yx.lm <- lm(y ~ x)
lines(x, predict(yx.lm), col="red")
Run Code Online (Sandbox Code Playgroud)

然后我手动添加黄线以产生以下内容:

替代文字

graphics r lm

7
推荐指数
2
解决办法
1077
查看次数

使用Pandas取消堆栈数据

我有一些数据,我从"长"到"宽".我使用unstack数据扩展没有问题,但后来我看起来像一个我无法摆脱的索引.这是一个虚拟的例子:

## set up some dummy data
import pandas as pd
d = {'state'  : ['a','b','a','b','a','b','a','b'],
     'year' : [1,1,1,1,2,2,2,2],
     'description'  : ['thing1','thing1','thing1','thing2','thing2','thing2','thing1','thing2'],
     'value' : [1., 2., 3., 4.,1., 2., 3., 4.]}
df = pd.DataFrame(d)
## now that we have dummy data do the long to wide conversion

dfGrouped = df.groupby(['state','year', 'description']).value.sum() 

dfUnstacked = dfGrouped.unstack('description')
print dfUnstacked


description  thing1  thing2
state year                 
a     1           4     NaN
      2           3       1
b     1           2       4
      2         NaN       6
Run Code Online (Sandbox Code Playgroud)

这看起来像我期望的那样.现在我想要一个带有列'state','year','thing1','thing2'的无索引数据框.所以我似乎应该这样做:

dfUnstackedNoIndex = …
Run Code Online (Sandbox Code Playgroud)

python pandas

7
推荐指数
1
解决办法
5106
查看次数

R网状无法找到已安装的python库

我正在尝试在R中使用Reticulate,psycopg2但在安装软件包时遇到了麻烦,但是我也尝试过twisted以相同的结果进行安装。

在我加载reticulateRI 之后,请仔细检查以确保安装了我的软件包:

> conda_install(envname = "r-reticulate", packages="psycopg2")
Solving environment: ...working... done

# All requested packages already installed.
Run Code Online (Sandbox Code Playgroud)

看起来不错。因此,我将condaenv设置r-reticulate为可以肯定的一点。文档说我不必这样做,但它应该不会受到伤害:

> use_condaenv( "r-reticulate")
Run Code Online (Sandbox Code Playgroud)

然后我尝试导入psycopg2

> psycopg2 <- import('psycopg2')
Error in py_module_import(module, convert = convert) : 
  ImportError: No module named psycopg2
Run Code Online (Sandbox Code Playgroud)

如果我twisted以相同的方式安装,则会收到相同的错误:

> twisted <- import('twisted')
Error in py_module_import(module, convert = convert) : 
  ImportError: No module named twisted
Run Code Online (Sandbox Code Playgroud)

那么,我在这里做错了什么?

以下是conda_listand 的输出py_config。。。我期望py_config向我展示r-reticulate环境中python exe的路径。但是,我没有什么可与之相比,因此我的期望可能是错误的。 …

r reticulate

7
推荐指数
1
解决办法
2671
查看次数

列存储:比较基于列的数据库

我一直在努力使SQL Server成为一种东西,坦率地说,它永远不会.我需要一个数据库引擎来进行分析工作.数据库需要快速,不需要在典型数据库(SQL Server,Oracle,DB2等)中找到的所有日志记录和其他开销.

昨天我听了Michael Stonebraker在Money:Tech会议上发言,我一直在想,"我真的不是很疯狂.有更好的方法!" 他谈到使用列存储而不是面向行的数据库.我去了维基百科页面上的列商店,我看到了一些开源项目(我喜欢)和一些商业/开源项目(我不太了解).

我的问题是:在应用分析环境中,基于不同列的DB如何不同?我该怎么想他们?任何人都有多个基于列的系统的实践经验?我可以利用这些数据库的SQL经验,还是必须学习一门新语言?

我最终将数据拉入R进行分析.

编辑:我被要求澄清我到底要做什么.所以,这是我想要做的一个例子:创建一个包含400万行和20列(5个dims,15个事实)的表.创建5个聚合表,计算每个事实的最大值,最小值和平均值.将这5个聚合加入起始表.现在计算每行的平均偏差百分比,最小偏差百分比和最大偏差百分比,并将其添加到原始表中.此表数据每天都不会获得新行,它将被完全替换并重复该过程.如果必须停止进程,天堂禁止.日志......哦,日志!:)

database r

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

本机与ODBC数据库连接

我知道有些数据库在R(例如MySQL)中有本机支持,但您可以使用RODBC连接到其他数据库,如MS SQL Server.使用本机驱动程序与RODBC进行读/写操作可以提高多少速度?R中有哪些其他DB有本机驱动程序?阅读速度是否比一般写作更快或更慢?

database odbc r

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

使用R生成具有密度对象的随机随机偏差

我有一个像这样创建的密度对象dd:

x1 <- rnorm(1000) 
x2 <- rnorm(1000, 3, 2) 
x <- rbind(x1, x2)
dd <- density(x) 
plot(dd)
Run Code Online (Sandbox Code Playgroud)

这产生了这种非高斯分布:

alt text http://www.cerebralmastication.com/wp-content/uploads/2009/09/nongaus.png

我最终希望得到这种分布的随机偏差,类似于rnorm如何偏离正态分布.

我试图解决这个问题的方法是获取我的内核的CDF,然后让它告诉我variate,如果我传递它的累积概率(反向CDF).这样我可以将均匀随机变量的矢量转换为密度的绘制.

看起来我想做的事情应该是其他人在我面前做的基本事情.这样做有简单的方法或简单的功能吗?我讨厌重新发明轮子.

我找到了这篇R帮助文章,但我无法理解他们正在做什么,最终的输出似乎没有产生我所追求的.但它可能是我不明白的一步.

我已经考虑过从供应商套餐中选择Johnson发行版,但约翰逊不会给我一些我的数据所具有的漂亮的双峰驼峰.

r probability stochastic

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

R:将列表项转换为对象

我有一个我手动创建的对象列表,如下所示:

rand1 <- rnorm(1e3)
rand2 <- rnorm(1e6)

myObjects <- NULL
myObjects[[1]] <-rand1
myObjects[[2]] <-rand2
names(myObjects) <- c("rand1","rand2")
Run Code Online (Sandbox Code Playgroud)

我正在研究捆绑对象的一些代码并将它们放在S3中.然后我在EC2中有代码,我想获取myObjects列表并自动"解包"它.在这个例子中,列表只有两个对象,名称是已知的,但我如何编码它来处理任何长度和任何名称的列表?

#pseudo code
for each thing in myObjects
  thing <- myObjects[[thing]]
Run Code Online (Sandbox Code Playgroud)

我无法弄清楚如何取名(myObjects)[1]并将其转换为一个对象的名称,我将为其分配myObjects [[1]]的内容.我可以处理循环,但创建每个对象有点让我挂起.我确信这很简单,但我不能理解它.

r list

6
推荐指数
3
解决办法
3642
查看次数

Hadoop中分布式缓存的生命周期

在Hadoop流式传输作业中使用分布式缓存机制将文件传输到节点时,系统是否在作业完成后删除这些文件?如果它们被删除,我认为它们是,有没有办法让缓存保留多个工作?这在Amazon的Elastic Mapreduce上的工作原理是否相同?

hadoop amazon-web-services elastic-map-reduce

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

plpgsql:将变量串联到FROM子句中

我是Postgresql的新手,并且正在努力构建一个循环一系列CSV文件并加载它们的函数.我可以使用单个文件使COPY正常工作,但我无法使FOR LOOP语法正确.我试图替代一年号码作为我的苍蝇被命名为/path/tmp.YEAR.out.csv

这就是我讨厌的内容:

CREATE OR REPLACE FUNCTION test() RETURNS void as $$
BEGIN
  FOR i IN 1982..1983 LOOP
    COPY myTable 
    FROM '/path/tmp.' || i::VARCHAR || '.out.csv'
    delimiters ','
  END LOOP;
END;
$$ LANGUAGE 'plpgsql';
Run Code Online (Sandbox Code Playgroud)

这会在第一个||处抛出错误.所以我怀疑我正在i不正确地管理变量的concat .有小费吗?

postgresql plpgsql

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