我正在尝试使用data.table简洁地计算一些百分比变化,但是我完全理解.SD操作是如何工作的.
假设我有下表
dt = structure(list(type = c("A", "A", "A", "B", "B", "B"), Year = c(2000L,
2005L, 2010L, 2000L, 2005L, 2010L), alpha = c(0.0364325563237498,
0.0401968159729988, 0.0357395587861466, 0.0317236054181487, 0.0328213742235379,
0.0294694430578336), beta = c(0.0364325563237498, 0.0401968159729988,
0.0357395587861466, 0.0317236054181487, 0.0328213742235379, 0.0294694430578336
)), .Names = c("type", "Year", "alpha", "beta"), row.names = c(NA,
-6L), class = c("data.table", "data.frame"))
> dt
## type Year alpha beta
## 1: A 2000 0.03643256 0.03643256
## 2: A 2005 0.04019682 0.04019682
## 3: A 2010 0.03573956 0.03573956
## 4: B 2000 …
Run Code Online (Sandbox Code Playgroud) 我的问题是关于使用 OCR 从图像中的表中提取数据的这篇文章。
我正在使用tesseract
将表格图像转换为文本。除了不保留表的格式之外,这很有效。一种解决方案是用一些字母替换列,这些字母tesseract
会识别并愚弄它把表格当作一些文本。
我使用以下代码绘制“QQ”的列
im=Image.open("file.png")
draw = ImageDraw.Draw(im)
font=ImageFont.truetype("/usr/share/fonts/gnu-free/FreeSerifBold.ttf",12)
by = font.getsize("S")[1]
col = [240,480]
px = []
for y in range(0,im.size[1],by):
for x in col:
draw.text((x,y),"QQ",font=font,fill=0)
im.save("res-file.png")
im.show()
Run Code Online (Sandbox Code Playgroud)
问题是 tesseract 甚至可以识别 QQ。我也把QQ列写在空白页上,tesseract不认。
有没有办法使用tesseract将png格式的表格转换为文本?有什么东西让我逃过一劫吗?
我想知道是否可以使用sas中的proc sql有效地从宽到长转置.
我知道proc转置比我在下面建议的方法快得多.但我的目标之一是避免存储转置表.
比方说,我将table1作为
Id| A| B| C| D
_____________________
1| 100|3500|6900| 10300
2| 200| 250| 300| 350
3| 150| 32| 400| 204
4| 200| 800|1400| 2000
Run Code Online (Sandbox Code Playgroud)
我想把它变成
id|col1| col2|
______________
1| A| 100|
1| B| 3500|
1| C| 6900|
1| D| 10300|
2| A| 200|
2| B| 250|
2| C| 300|
2| D| 350|
3| A| 150|
3| B| 32|
3| C| 400|
3| D| 204|
4| A| 200|
4| B| 800|
4| C| 1400|
4| D| 2000|
Run Code Online (Sandbox Code Playgroud)
我能做到这一点; …
我尝试使用omit
和中的omit.yes.no
选项stargazer()
来省略虚拟变量。似乎有一个涉及此选项的错误。这些是我期望从观星者的输出中得到的。
logit_1 logit_2 logit_3
| covariates 1 | 21*** 20 *** 21.4***
(0.2) (0.12) (0.10)
| covariate 2 | 0.5 0.3*** 0.31***
(0.4) (0.13) (0.15)
| factor(covariate 3) A | 0.123*** 0.3***
(0.06) (0.08)
| factor(covariate 3) B | 1.5** 1.03***
(O.78) (0.073)
| OM | No No Yes
Run Code Online (Sandbox Code Playgroud)
我的观星者命令如下:
stargazer (logit_1,logit_2,logit_3, omit='OM', omit.labels="OM", omit.yes.no = c("Yes","No")).
Run Code Online (Sandbox Code Playgroud)
当我运行上一条命令时,OM变量的结果为否是是。
当我跑步
stargazer (logit_1,logit_2, omit='OM', omit.labels="OM", omit.yes.no = c("Yes","No"))
Run Code Online (Sandbox Code Playgroud)
我不知道
当我跑步时
stargazer (logit_2,logit_3, omit='OM', omit.labels="OM", omit.yes.no = …
Run Code Online (Sandbox Code Playgroud) 我需要提取用文字或文字中的数字书写的数字.
我有一张看起来像这样的桌子,
... 1 child ...
... three children ...
...four children ...
...2 children...
...five children
Run Code Online (Sandbox Code Playgroud)
我想要捕获用文字或数字形式写的数字.每行有一个数字.所以期望的输出将是:
1
three
four
2
five
Run Code Online (Sandbox Code Playgroud)
我的正则表达式看起来像这样:
prxparse("/one|two|three|four|five|six|seven|eight|nine|ten|eleven|twelve|thirteen|child|\d\d?/")
Run Code Online (Sandbox Code Playgroud)
有帮助吗?
assertRaises使用以下代码给出断言错误.有什么我做错了吗?
class File_too_small(Exception):
"Check file size"
def foo(a,b):
if a<b:
raise File_too_small
class some_Test(unittest.TestCase):
def test_foo(self):
self.assertRaises(File_too_small,foo(1,2))
Run Code Online (Sandbox Code Playgroud)
尽管如此,测试似乎通过了以下修改
def foo:
raise File_too_small
def test_foo(self):
self.assertRaises(File_too_small,foo)
Run Code Online (Sandbox Code Playgroud) related to this question. I wanted to build a simple lapply function that will output NULL if an error occur.
my first thought was to do something like
lapply_with_error <- function(X,FUN,...){
lapply(X,tryCatch({FUN},error=function(e) NULL))
}
tmpfun <- function(x){
if (x==9){
stop("There is something strange in the neiborhood")
} else {
paste0("This is number", x)
}
}
tmp <- lapply_with_error(1:10,tmpfun )
Run Code Online (Sandbox Code Playgroud)
But tryCatch does not capture the error it seems. Any ideas?
我想转置下表
+---------+----------+------+-------+
| var | Year | A | B |
+---------+----------+ -----+-------+
| Mean | 2006 | 1.3 | 4.6 |
| Median | 2006 | 1.4 | 4.1 |
| Mean | 2007 | 3.6 | 5.5 |
| Median | 2007 | 4.0 | 5.5 |
| Mean | 2008 | 5.5 | 4.0 | `
| Median | 2008 | 5.5 | 5.1 |
+---------+----------+------+-------+
Run Code Online (Sandbox Code Playgroud)
对于这样的事情:
+---------+----------+------+--------+
| var | Year | Mean | Median | …
Run Code Online (Sandbox Code Playgroud) 一行的每个值如何与表的每个值进行比较?更具体地说,假设我有下表:
DT = data.table(x=rep(c("a","b","c"),each=3), y=c(1,3,6),
v=1:9,w=as.integer(rnorm(9)*10))
> DT
## x y v w
## 1: a 1 1 0
## 2: a 3 2 0
## 3: a 6 3 6
## 4: b 1 4 -4
## 5: b 3 5 -27
## 6: b 6 6 10
## 7: c 1 7 4
## 8: c 3 8 1
## 9: c 6 9 7
Run Code Online (Sandbox Code Playgroud)
如何找到w的数量大于每个w?期望的输出:
> DT1
## x y v w count
## 1: a 1 …
Run Code Online (Sandbox Code Playgroud)