我看到很多的问题和答案再order和sort.是否有任何将矢量或数据帧分类为分组(如四分位数或十分位数)的东西?我有一个"手动"解决方案,但可能有一个更好的解决方案已经过组测试.
这是我的尝试:
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) 我在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]失败.如何将每个数组中的最后一个条目转换为新列?谢谢!
我可以在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) 在RI中,经常zoo按月汇总每日数据(a ),使用以下内容:
result <- aggregate(x, as.yearmon, "mean", na.rm=TRUE)
我有办法在一周之内完成这项工作吗?
我正在从移动RSQLite到RMySQL,我被迷惑user和password领域.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中的大型数据集时,我已达到RAM的极限.我认为我的下一步是将这些数据导入MySQL数据库并使用该RMySQL包.主要是因为我不知道数据库术语,我无法弄清楚如何超越安装MySQL几个小时的谷歌搜索和RSeeking(我在Mac OSX 10.6上运行MySQL和MySQL Workbench,但也可以运行Ubuntu 10.04 ).
如何开始使用这个用法有一个很好的参考?此时我不想做任何关系数据库.我只想将.csv文件导入到本地MySQL数据库中并使用RMySQL.进行子集化.
我很欣赏任何指针(包括"你离开基地!"因为我是R的新手并且是大型数据集的新手...这个大约80 mb)
xtable在Sweave工作中很棒,但每回归一张表.你可以给它一个数据帧,也一样,所以我一直在手动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) 我正在尝试使用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) 每次我获得一个新的数据集时,我要做的第一件事就是查看摘要统计信息.该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) 我想使用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)