小编Ric*_*ron的帖子

如何通过对数据框中的列进行排序来快速形成组(四分位数,十分位数等)

我看到很多的问题和答案再ordersort.是否有任何将矢量或数据帧分类为分组(如四分位数或十分位数)的东西?我有一个"手动"解决方案,但可能有一个更好的解决方案已经过组测试.

这是我的尝试:

temp <- data.frame(name=letters[1:12], value=rnorm(12), quartile=rep(NA, 12))
temp
#    name       value quartile
# 1     a  2.55118169       NA
# 2     b  0.79755259       NA
# 3     c  0.16918905       NA
# 4     d  1.73359245       NA
# 5     e  0.41027113       NA
# 6     f  0.73012966       NA
# 7     g -1.35901658       NA
# 8     h -0.80591167       NA
# 9     i  0.48966739       NA
# 10    j  0.88856758       NA
# 11    k  0.05146856       NA
# 12    l -0.12310229       NA
temp.sorted <- temp[order(temp$value), …
Run Code Online (Sandbox Code Playgroud)

sorting r dataframe

62
推荐指数
6
解决办法
9万
查看次数

在pandas DataFrame中的列上的.str.split()操作之后获取最后一个"列"

我在pandas DataFrame中有一个列,我想在一个空格上拆分.拆分很简单DataFrame.str.split(' '),但我不能从最后一个条目创建一个新列.当我.str.split()在列中获得数组列表时,我不知道如何操作它来为我的DataFrame获取新列.

这是一个例子.该列中的每个条目都包含"符号数据价格",我想分拆价格(最终在一半的情况下删除"p"...或"c").

import pandas as pd
temp = pd.DataFrame({'ticker' : ['spx 5/25/2001 p500', 'spx 5/25/2001 p600', 'spx 5/25/2001 p700']})
temp2 = temp.ticker.str.split(' ')
Run Code Online (Sandbox Code Playgroud)

产量

0    ['spx', '5/25/2001', 'p500']
1    ['spx', '5/25/2001', 'p600']
2    ['spx', '5/25/2001', 'p700']
Run Code Online (Sandbox Code Playgroud)

temp2[0]只是给出一个列表条目的数组并temp2[:][-1]失败.如何将每个数组中的最后一个条目转换为新列?谢谢!

python string split pandas

50
推荐指数
5
解决办法
5万
查看次数

如何在ggplot2图例中使用下标[R]

我可以在ggplot2传奇中使用下标吗?我在传说和其他地方的希腊字母上看到了这个问题,但我无法弄清楚如何适应它.

我认为使用expression(),在轴标签中工作,可以做到这一点.但我的尝试失败了.谢谢!

library(ggplot2)
temp <- data.frame(a = rep(1:4, each = 100), b = rnorm(4 * 100), c = 1 + rnorm(4 * 100))
names(temp)[2:3] <- c("expression(b[1])", "expression(c[1])")
temp.m <- melt(temp, id.vars = "a")
ggplot(temp.m, aes(x = value, linetype = variable)) + geom_density() + facet_wrap(~ a)
Run Code Online (Sandbox Code Playgroud)

r ggplot2

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

在R中按周汇总

在RI中,经常zoo按月汇总每日数据(a ),使用以下内容:

result <- aggregate(x, as.yearmon, "mean", na.rm=TRUE)

我有办法在一周之内完成这项工作吗?

aggregate r zoo

16
推荐指数
1
解决办法
7305
查看次数

使用RMySQL连接MySQL数据库

我正在从移动RSQLiteRMySQL,我被迷惑userpassword领域.FWIW,我正在运行Windows 7,R 2.12.2,MySQL 5.5(全部64位)和RMySQL 0.7-5.

RMySQL按照之前的SO问题安装,据我所知,它可以工作(即,我可以加载包library(RMySQL)).但是当我尝试从R数据导入指南运行教程时,我收到"无法连接到数据库..."错误.这是指南教程中的代码:

library(RMySQL) # will load DBI as well
## open a connection to a MySQL database
con <- dbConnect(dbDriver("MySQL"), user = "root", password = "root", dbname = "pookas")
## list the tables in the database
dbListTables(con)
## load a data frame into the database, deleting any existing copy
data(USArrests)
dbWriteTable(con, "arrests", USArrests, overwrite = TRUE)
dbListTables(con)
## get the …
Run Code Online (Sandbox Code Playgroud)

r rmysql

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

在MySQL中设置大型数据库以便在R中进行分析

在分析R中的大型数据集时,我已达到RAM的极限.我认为我的下一步是将这些数据导入MySQL数据库并使用该RMySQL包.主要是因为我不知道数据库术语,我无法弄清楚如何超越安装MySQL几个小时的谷歌搜索和RSeeking(我在Mac OSX 10.6上运行MySQL和MySQL Workbench,但也可以运行Ubuntu 10.04 ).

如何开始使用这个用法有一个很好的参考?此时我不想做任何关系数据库.我只想将.csv文件导入到本地MySQL数据库中并使用RMySQL.进行子集化.

我很欣赏任何指针(包括"你离开基地!"因为我是R的新手并且是大型数据集的新手...这个大约80 mb)

mysql macos r

10
推荐指数
2
解决办法
3783
查看次数

将几个回归表合并为一个用于xtable中的Swetable和R中的Sweave

xtableSweave工作中很棒,但每回归一张表.你可以给它一个数据帧,也一样,所以我一直在手动rbind荷兰国际集团和paste荷兰国际集团成果转化为数据帧,但是这似乎并不十分扩展.

是否有更自动化/更强大的解决方案xtable,但是在多个lm对象上?我在纸张/书籍中看到的所有表格都是手动生成的吗?是否有一个更好的解决方案,我的janky代码生成一个数据框来提供xtable

    library(reshape2)

    data <- data.frame(matrix(rnorm(50), 10, 5))
    names(data) <- letters[1:5]
    l.raw <- list()
    l.raw[["a"]] <- lm(a ~ d + e, data=data)
    l.raw[["b"]] <- lm(b ~ d + e, data=data)
    l.raw[["c"]] <- lm(c ~ d + e, data=data)

    form.table.from.lm <- function(l.raw) {
    summ <- list()

    for (i in names(l.raw)) {
        temp <- coef(summary(l.raw[[i]]))
        summ[[i]] <- data.frame(param=rownames(temp), test=i, temp)
    }

    df.res <- do.call("rbind", summ)
    df.res <- transform(df.res, t.value …
Run Code Online (Sandbox Code Playgroud)

r sweave xtable

10
推荐指数
1
解决办法
3456
查看次数

如何在Pandoc上使用Python过滤器将md与tikz转换为Windows 8.1上的html

我正在尝试使用Pandoc过滤器将带有tikz图片的markdown文件转换为html.我在Win 8.1(我有所有依赖项 - pdflatex,Python 2.7,ImageMagick和pandocfilters Python包).我正在使用John MacFarlane在github上提供的tikz.py脚本.

我在Pandoc Google Group上发现了类似的问题,John MacFarlane建议将过滤器包装在Windows批处理脚本中(过滤器必须是可执行文件).这是我的命令行输入(我将在下面提供文件内容).

pandoc -o temp.html --filter .\tikz.bat -s temp.md
Run Code Online (Sandbox Code Playgroud)

但我不断收到以下错误.

pandoc: Failed reading: satisfyElem
Run Code Online (Sandbox Code Playgroud)

该脚本生成"tikz-images"子文件夹,但它是空的,结果输出文件temp.html也是如此.

我怎样才能让它发挥作用?FWIW,更大的目标是输入文件是R Markdown,但我想先了解Pandoc Markdown到HTML进程.

这是文件内容.

tikz.bat

python tikz.py %*
Run Code Online (Sandbox Code Playgroud)

temp.md

\begin{tikzpicture}

\draw [<->](-3,0)--(3,0);
\draw (-2,-.2)--(-2,.2);
\draw (-1,-.2)--(-1,.2);
\draw(0,-.2)--(0,.2);
\draw (1,-.2)--(1,.2);
\draw (2,-.2)--(2,.2);
\node[align=left,below] at (-4.5,-0.2) {Cash flow};
\node[align=left,above] at (-4.5,0.2) {Time period};
\node[align=left,above] at (-2,0.2) {-2};
\node[align=left,above] at (-1,0.2) {-1};
\node[align=left,above] at (0,0.2) {0};
\node[align=left,above] at (1,0.2) {+1};
\node[align=left,above] at (2,0.2) …
Run Code Online (Sandbox Code Playgroud)

markdown pandoc

9
推荐指数
1
解决办法
2933
查看次数

使用R中的plyr制作更好的汇总统计表

每次我获得一个新的数据集时,我要做的第一件事就是查看摘要统计信息.该summary功能做得非常好,但我经常对标准偏差,具有不同断点的分位数,观察数量等感兴趣.此外,呈现summary并不是最简单的消化方式或您在期刊中看到的内容(即,summary是水平而不是垂直).

例如,以下是我从摘要中获得的一些数据.

> library(plyr)
> library(reshape2)
> my.data <- data.frame(firm = factor(rep(letters[1:5], each = 5)), returns = rnorm(n = 5 * 5), leverage = rep(c(0.3, 0.4, 0.5, 0.6, 0.7), each = 5) + .... [TRUNCATED] 
> my.summary <- summary(my.data)
> my.summary
 firm     returns           leverage     
 a:5   Min.   :-1.6765   Min.   :0.2863  
 b:5   1st Qu.:-0.6945   1st Qu.:0.3929  
 c:5   Median :-0.1930   Median :0.5061  
 d:5   Mean   :-0.1159   Mean   :0.5009  
 e:5   3rd Qu.: 0.4323   3rd Qu.:0.6011  
       Max.   : 1.1915   Max. …
Run Code Online (Sandbox Code Playgroud)

r plyr

8
推荐指数
1
解决办法
5136
查看次数

使用esttab按组生成汇总统计信息,其中包含平均差异和显着性的列

我想使用esttab(ssc install estout)按组生成汇总统计信息,其中包含平均差异和显着性的列.很容易将这些生成为两个单独的表estpost,使用summarize,和ttest,并手动组合,但我想自动化整个过程.

以下代码生成所需表的两个组件.

sysuse auto, clear

* summary statistics by group
eststo clear
by foreign: eststo: quietly estpost summarize ///
    price mpg weight headroom trunk
esttab, cells("mean sd") label nodepvar   

* difference in means
eststo: estpost ttest price mpg weight headroom trunk, ///
    by(foreign) unequal 
esttab ., wide label   
Run Code Online (Sandbox Code Playgroud)

我可以打印两张桌子并将其粘贴到一张桌子上.

* can generate similar tables and append horizontally
esttab, cells("mean sd") label
esttab, wide label


* manual, cut-and-paste solution …
Run Code Online (Sandbox Code Playgroud)

stata

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

标签 统计

r ×7

aggregate ×1

dataframe ×1

ggplot2 ×1

macos ×1

markdown ×1

mysql ×1

pandas ×1

pandoc ×1

plyr ×1

python ×1

rmysql ×1

sorting ×1

split ×1

stata ×1

string ×1

sweave ×1

xtable ×1

zoo ×1