小编Hei*_*erg的帖子

lapply 的错误处理——输出失败元素的索引

回答有关 lapply始终返回错误处理NANULL元素失败时的错误处理问题,即

myfun <- function(s) {
  tryCatch(doSomething(s), error = function(e) { return(NULL) }
}
Run Code Online (Sandbox Code Playgroud)

然而,这还不够普遍,因为doSomething(s)可能会返回NULLNA本身。因此,理想情况下,我希望myfun编写这样的内容,以便lapply(mylist, myfun)我能够以某种方式获得失败元素的所有索引。这个怎么做?

error-handling r lapply

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

在ggplot2 mean_cl_boot中使用不同的置信区间

ggplot2使用Hmisc:smean_cl_bootstat_summary作为

stat_summary(fun.data = mean_cl_boot, geom = "pointrange")
Run Code Online (Sandbox Code Playgroud)

是否可以指定90%置信区间而不是默认值95?在Hmisc::smean_cl_boot它是一种选择,但我不知道如何通过它传递ggplot2的语法.我不想定义自定义函数.

r ggplot2

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

找不到ipython内核创建的json连接文件

我正在使用ipython 4.1.2(通过Anaconda安装).我找到了配置文件位置(这是默认设置)

ipython locate profile
/home/myname/.ipython/profile_default
Run Code Online (Sandbox Code Playgroud)

ipython kernel 跑得很好,说

要将另一个客户端连接到此内核,请使用:--existing kernel-8664.json

但是,当我向内看时/home/myname/.ipython/profile_default/security,它完全是空的.

这是什么问题?

ipython anaconda

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

为什么我必须在R中使用assign()而不是eval(parse(text =()))

当我想使用循环为几个数据帧分配新值时,就会出现问题.

我知道正确的方法

for (df.name in c('df1', 'df2', 'df3')) {
  assign(df, new.value)
}
Run Code Online (Sandbox Code Playgroud)

我的问题是,为什么我不能这样做

for (df.name in c('df1', 'df2', 'df3')) {
  eval(parse(text=df.name)) <- new.value
}
Run Code Online (Sandbox Code Playgroud)

谢谢!

loops r assign

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

如何防止pandas DataFrame在子集化后保留完整索引?

我有以下DataFrameMultiIndex.

df2 = pd.DataFrame({'var1': np.arange(5)}, index=pd.MultiIndex.from_tuples([('A', 'a'), ('A', 'b'), ('B', 'c'), ('B', 'd'), ('C', 'e')]))
[Out]:
       var1
A   a   0
    b   1
B   c   2
    d   3
C   e   4
Run Code Online (Sandbox Code Playgroud)

如果我将它子集化,它将保留完整索引(即使我使用.copy())

df2.loc[['A', 'C']].copy().index
[Out]: MultiIndex(levels=[['A', 'B', 'C'], ['a', 'b', 'c', 'd', 'e']],
       labels=[[0, 0, 2], [0, 1, 4]])
Run Code Online (Sandbox Code Playgroud)

这种行为背后的理由是什么?如何防止这种情况发生?我希望新索引只包含[['A', 'C'], ['a', 'b', 'e'].

python pandas

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

使用Python使用AJAX抓取网页

我知道使用Python的Beautiful Soup抓取HTML的基础知识.但是,这个足球统计页面会进行AJAX调用,以获取玩家在几分钟内播放的数据.(我使用firebug确定了网络呼叫).

我的问题:是否有可能使用python"刮"这些信息?我需要哪些工具以及HTML以外的其他工具?(我目前正在阅读JavaScript和AJAX).

我为这个非特定问题道歉,但我甚至不知道谷歌如何处理可能存在或可能不存在的工具.

更新:几天后,我想出了一个使用SeleniumPython结合的解决方案PhantomJS.我基本上习惯Selenium去每个链接,等待页面加载,然后抓取信息.PhantomJS作为无头网络驱动程序Selenium.

我理解为什么mods要关闭它,但人们给我这里的建议非常有帮助,因为他们让我朝着正确的方向前进.我的问题不是关于什么工具最好,而是更多关于如何在Python中做到这一点.

javascript python ajax

0
推荐指数
1
解决办法
2113
查看次数

为什么`apply(df,2,class)`将每列显示为字符?

> d <- data.frame(s=c("a", "b", "c"), n=c(1,2,3)) 
> apply(d, 2, class)
Run Code Online (Sandbox Code Playgroud)

即使d有一个字符串和一个数字列,第二行显示一切都是字符?为什么?

由于这种方法不准确,有什么方法可以检查数据框中多列的类型?

r

0
推荐指数
1
解决办法
81
查看次数

检查特征值是否等于实数的不同方法?

我有以下矩阵

M <- structure(c(0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 
0, 0, 1, 0, 0, 0, 1, 0), .Dim = c(5L, 5L))
Run Code Online (Sandbox Code Playgroud)

我想找到正好为1的特征值.我认为这样可行:

Re(eigen(M)$values) == 1 & Im(eigen(M)$values) == 0
Run Code Online (Sandbox Code Playgroud)

Re(eigen(M)$values) == 1不认为第5个特征值等于1,即使它确实如此.我错过了什么?

编辑:只要它指出了一个浮点问题,我研究了一点,了解几种解决方案,包括使用abs(value) < tol,all.equalsignif.答案可以讨论这些选项吗?

r eigenvalue complex-numbers

0
推荐指数
1
解决办法
111
查看次数