小编Ric*_*ron的帖子

R:用xtable()打印两个表

我有数据表(d1和d2),我想在乳胶中并排或相互打印各自的标题.是否有可能直接这样做xtable()?这两个表应该是不同的,即我们可以将它们称为表x(a)表x(b),但它们应该相邻或堆叠.

r sweave

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

从coeftest对象列表中提取列

是否有可以从coeftest对象中提取两个或更多列的函数?这一个coeftest对象很容易,但我可以对列表(for()循环除外)做同样的事情吗?

> # meaningless data
> temp <- data.frame(a = rnorm(100, mean = 5), b = rnorm(100, mean = 1),
+                    c = 1:100)
> formulas <- list(a ~ b, a ~ c)
> models <- lapply(formulas, lm, data = temp)
> library(lmtest)
> cts <- lapply(models, coeftest)

> # easy to extract columns one object at a time
> cts[[1]][, 1:2]
              Estimate Std. Error
(Intercept)  5.0314196  0.1333705
b           -0.1039264  0.0987044

> # but …
Run Code Online (Sandbox Code Playgroud)

r lapply

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

在WHERE字段中使用用户指定的变量进行RSQLite查询

我正在使用RSQLiteR in中的库来管理对RAM来说太大的数据集.对于每个回归,我查询数据库以一次检索一个会计年度.现在我有财政年度的硬编码:

data.annual <- dbGetQuery(db, "SELECT * FROM annual WHERE fyear==2008")
Run Code Online (Sandbox Code Playgroud)

我想让财政年度(2008年上面)让变更更容易(并且万无一失).有没有办法可以将变量传递给SQL查询字符串?我很乐意使用:

fiscal.year <- 2008
data.annual <- dbGetQuery(db, "SELECT * FROM annual WHERE fyear==fiscal.year")
Run Code Online (Sandbox Code Playgroud)

r rsqlite

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

使用lxml解析Python中带有错误标题的文本文件

我想用lxml的etree解析文本文件(本地存储).但是我的所有文件(数千个)都有标题,例如:

-----BEGIN PRIVACY-ENHANCED MESSAGE-----
Proc-Type: 2001,MIC-CLEAR
Originator-Name: webmaster@www.sec.gov
Originator-Key-Asymmetric:
 MFgwCgYEVQgBAQICAf8DSgAwRwJAW2sNKK9AVtBzYZmr6aGjlWyK3XmZv3dTINen
 TWSM7vrzLADbmYQaionwg5sDW3P6oaM5D3tdezXMm7z1T+B+twIDAQAB
MIC-Info: RSA-MD5,RSA,
 AHxm/u6lqdt8X6gebNqy9afC2kLXg+GVIOlG/Vrrw/dTCPGwM15+hT6AZMfDSvFZ
 YVPEaPjyiqB4rV/GS2lj6A==

<SEC-DOCUMENT>0001193125-07-200376.txt : 20070913
<SEC-HEADER>0001193125-07-200376.hdr.sgml : 20070913
<ACCEPTANCE-DATETIME>20070913115715
ACCESSION NUMBER:       0001193125-07-200376
CONFORMED SUBMISSION TYPE:  10-K
PUBLIC DOCUMENT COUNT:      7
CONFORMED PERIOD OF REPORT: 20070630
FILED AS OF DATE:       20070913
DATE AS OF CHANGE:      20070913
Run Code Online (Sandbox Code Playgroud)

<在这种情况下,第一个直到第51行(并且在所有情况下都不是51).xml部分如下所示:

</SEC-HEADER>
<DOCUMENT>
<TYPE>10-K
<SEQUENCE>1
<FILENAME>d10k.htm
<DESCRIPTION>FORM 10-K
<TEXT>
<HTML><HEAD>
<TITLE>Form 10-K</TITLE>
</HEAD>
 <BODY BGCOLOR="WHITE">
<h5 align="left"><a href="#toc">Table of Contents</a></h5>
Run Code Online (Sandbox Code Playgroud)

我可以使用lxml动态处理吗?或者我应该使用流编辑器来省略每个文件的标题?谢谢!

这是我当前的代码和错误.

from lxml import etree
f = etree.parse('temp.txt')

XMLSyntaxError: Start …
Run Code Online (Sandbox Code Playgroud)

python lxml

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

在两个公共列上合并多个数据框

我已经看到了一些问题,关于合并的CSV文件到一个数据帧.如果数据框已在工作区中,该怎么办?我有五个广角动物园,我作为数据框投射,然后融化.这是一个头:

> head(df.mon.ssf.ret)
      date variable value
1 2009.000     AA1C    NA
2 2009.083     AA1C    NA
3 2009.167     AA1C    NA
4 2009.250     AA1C    NA
5 2009.333     AA1C    NA
6 2009.417     AA1C    NA
Run Code Online (Sandbox Code Playgroud)

我可以在"date"和"variable"上将这些与一系列嵌套合并合并,但这看起来很笨拙.是否有更程序化的合并方式?

如果我确信所有动物园中的柱子的顺序相同,我是否可以确信熔化物保持订购和使用cbind?谢谢!

更新:

关于融化的使用理念,我有些遗漏.这是当我合并为一个动物园并使用三个动物园融化成一个非常宽的数据框架时会发生的事情:

> temp <- merge(z.ssf.oi, z.ssf.oig, z.ssf.ret)
> class(temp)
[1] "zoo"
> temp2 <- cbind(index(temp), as.data.frame(temp))
> class(temp2)
[1] "data.frame"
> names(temp2)[1] <- "date"
> dim(temp2)
[1]   12 1204
> temp3 <- melt(temp2, id="date")
Error in data.frame(ids, variable, value) : 
  arguments imply differing …
Run Code Online (Sandbox Code Playgroud)

merge r reshape melt

5
推荐指数
1
解决办法
4692
查看次数

帮助解释/转换奇数日期格式

我从数据库中提取数据并存储在Stata .dta文件中.但是当我使用foreign包将它读入R时,我得到的日期格式与我见过的不同.所有其他日期都是"%m /%d /%Y"并正确导入.

我搜索了数据库的文档,但没有解释"DealActiveDate"的奇数日期格式."facilitystartdate"日期应该接近"DealActiveDate",但不一定相同.以下是这两列的几行.

facilitystartdate DealActiveDate
1         09/12/1987   874022400000
2         09/12/1987   874022400000
3         09/12/1987   874022400000
4         09/01/1987   873072000000
5         09/08/1987   873676800000
6         10/01/1987   875664000000
7         08/01/1987   870393600000
8         08/01/1987   870393600000
9         10/01/1987   875664000000
10        09/01/1987   873072000000
Run Code Online (Sandbox Code Playgroud)

如果您有任何想法如何将"DealActiveDate"转换为更传统的日期,请告诉我.谢谢!(我不确定SO是最好的场地,但我不会想到任何其他选择!)

r date date-format datetime-format stata

5
推荐指数
1
解决办法
392
查看次数

rollapply可以返回一个矩阵列表吗?

我想使用滚动窗口生成协方差矩阵(和平均向量).但是在我的所有尝试中,rollapply堆叠协方差矩阵cov并用尽预先分配的空间(例如,如果我的原始数据有40个观察值,则rollapply不能返回超过40行).

有没有办法可以rollapply返回矩阵列表?或者返回一个data.frame大于原始的data.frame,我可以手动拆分成一个列表?我的最终目标是采用一个面板,将面板分成一个单独data.frame的列表,计算每个数据框的滚动协方差和平均值,然后使用这些协方差列表和下游方法与一群人进行比较.

这是一些代码.我的问题是my.fun不会返回所有协方差矩阵计算的数据.是我自己编码的最佳选择rollapply吗?或者我自己cov返回一个我转换回矩阵的向量?谢谢!

library("zoo")
data.df <- data.frame(sic = rep(1:10, each = 40),
                      year = rep(1:40, len = 10*40),
                      one = rnorm(10*40),
                      two = 2*rnorm(10*40),
                      three = 3*rnorm(10*40))
data.list <- split(data.df, data.df$sic)
data.list <- lapply(data.list, zoo)
my.fun <- function(x) {
    x <- x[, c("one", "two", "three")]
    rollapply(x,
              width = 10, 
              FUN = cov,
              by.column = F, 
              align = "right")
}
cov.list …
Run Code Online (Sandbox Code Playgroud)

r zoo

5
推荐指数
1
解决办法
1749
查看次数

从stargazer回归表输出中省略浮动和文档环境

我刚开始使用该stargazer包在R中制作回归表,但无法弄清楚如何在没有浮动或文档环境的情况下将表输出写入.tex文件(以及文档环境中的前导码).也就是说,我只想要表格环境.我的工作流程是保持表格浮动环境 - 以及相关的标题和标签 - 在纸张正文中并链接到表格的表格环境\input{}.

这可能吗?

# bogus data
my.data <- data.frame(y = rnorm(10), x = rnorm(10))
my.lm <- lm(y ~ x, data=my.data)

# if I write to file, then I can omit the floating environment,
# but not the document environment
# (i.e., file contains `\documentclass{article}` etc.)
stargazer(my.lm, float=FALSE, out="option_one.tex")

# if I write to a text connection with `sink`,
# then I can omit both floating and document environments, 
# but not …
Run Code Online (Sandbox Code Playgroud)

r stargazer

5
推荐指数
1
解决办法
773
查看次数

用变量值替换字符串中的变量名[R]

我说R里有一个角色"\\frac{A}{B}".而且我有AB,5以及和10.的价值观.有没有办法,我可以替代的方式A,并B510

我尝试了以下内容.

words <- "\\frac{A}{B}"
numbers <- list(A=5, B=10)
output <- do.call("substitute", list(parse(text=words)[[1]], numbers))
Run Code Online (Sandbox Code Playgroud)

但是我得到了一个错误\.有没有办法可以做到这一点?我试图用实际变量值创建方程.

parsing r substitution

5
推荐指数
1
解决办法
534
查看次数

R中的叠加直方图(首选ggplot2)

我试图用ggplot2创建这样的分层直方图: 我想要创建的样式图

以下是我认为可行的一些数据和代码:

my.data <- data.frame(treat = rep(c(0, 1), 100), prop_score = runif(2 * 100))
my.data <- transform(my.data, treat = ifelse(treat == 1, "treatment", "control"))
my.data <- transform(my.data, treat = as.factor(treat))
my.fig <- ggplot() + geom_histogram(data = my.data, binwidth = 0.05, alpha = 0.01, aes(x = prop_score, linetype = treat, position = identity)) 
Run Code Online (Sandbox Code Playgroud)

但我的代码产生了这个: 在此输入图像描述

谢谢!我更喜欢ggplot2(在我学习的时候,我认为我只是学习了普通的,可扩展的绘图语言),但我对任何事情都很开放.

plot r histogram ggplot2

4
推荐指数
1
解决办法
4411
查看次数