小编use*_*627的帖子

R:对一个包含整数(0)元素的列表使用unlist()函数?

在R中,我正在调用unlist一个列表来转换为向量.但是,我的一些列表元素是空的,因此返回integer(0).在unlist()默认情况下,功能下降这一点.如何返回NA列表为空的向量?我创建了一个可重现的例子:

> ex.list <- list()
> ex.list[[1]] <- integer(0)
> ex.list[[2]] <- c(1,2,3)
> ex.list
[[1]]
integer(0)

[[2]]
[1] 1 2 3

> unlist(ex.list)
[1] 1 2 3
Run Code Online (Sandbox Code Playgroud)

谢谢.

r

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

通过Tor在Python中使用Stem包时是否可以加快IP地址的更改?

我目前正在使用以下设置来更改 Mac OS X 中的 IP 地址:

from stem import Signal
from stem.control import Controller

with Controller.from_port(port = 9051) as controller:
    controller.authenticate()
    controller.signal(Signal.NEWNYM)

headers = {
    'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:61.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 Edge/12.1'
}

proxies = {
    "http": "http://127.0.0.1:8118"
}

r_ip = requests.get("http://icanhazip.com", proxies=proxies, headers=headers_tor)
print(r_ip.text)
Run Code Online (Sandbox Code Playgroud)

我首先在命令行中运行 Tor,然后执行上面的命令。我注意到 IP 地址不会立即更改,而是需要几秒钟才能运行上面的代码块以生成新的 IP 地址。此外,在我运行 Tor 的终端页面上,它输出如下消息:

Aug 25 04:13:53.000 [notice] Rate limiting NEWNYM request: delaying by 7 second(s)
Run Code Online (Sandbox Code Playgroud)

有没有办法在没有延迟的情况下更改IP地址?

python tor python-3.x stem

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

在 R 的 Stargazer 包中,如何为结果输出表添加行分隔符?

stargazer我在 中报告了两个回归R,并add.lines()在最后添加了一个预测表。我的桌子目前看起来像:

在此输入图像描述

但我想在“x 值的预测值”正下方添加一行,以便它成为自己的行,就像我们在“观察”行中一样。有没有办法做到这一点?

生成回归数据的代码:

x <- 1:100
y <- rnorm(100, 4*x, 5)
mod1 <- lm(y ~ x)
mod2 <- lm(y ~ 1)
se1 <- summary(mod1)$coef[2,2]
se2 <- summary(mod2)$coef[1,2]
mod1.pred1 <- predict(mod1, newdata=data.frame(x=1))
mod2.pred1 <- predict(mod2, newdata=data.frame(x=1))
mod1.pred2 <- predict(mod1, newdata=data.frame(x=2))
mod2.pred2 <- predict(mod2, newdata=data.frame(x=2))
Run Code Online (Sandbox Code Playgroud)

带表的 Stargazer 输出:

stargazer(mod1, mod2, se = list(se1, se2), out="Results.html", notes="Two Models", keep.stat="n", type = "text", 
      table.layout ="ldmc#-t-s-a=n",
      add.lines = list(
        c("Predicted Values on x Values"),
        c("", "", "", ""), …
Run Code Online (Sandbox Code Playgroud)

r stargazer

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

在块矩阵的对角线部分多次重复块矩阵,非对角线块全部为零矩阵?

我想创建一个块对角矩阵,对角线块重复一定次数,非对角线块都是零矩阵.例如,假设我们从具有以下内容的矩阵开始:

> diag.matrix

       [,1] [,2] [,3] [,4] [,5]
  [1,]  1.0  0.5  0.5  0.5  0.5
  [2,]  0.5  1.0  0.5  0.5  0.5
  [3,]  0.5  0.5  1.0  0.5  0.5
  [4,]  0.5  0.5  0.5  1.0  0.5
  [5,]  0.5  0.5  0.5  0.5  1.0
Run Code Online (Sandbox Code Playgroud)

我希望这个矩阵是对角块矩阵,所以最后我有类似的东西:

       [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
 [1,]  1.0  0.5  0.5  0.5  0.5  0.0  0.0  0.0  0.0   0.0
 [2,]  0.5  1.0  0.5  0.5  0.5  0.0  0.0  0.0  0.0   0.0
 [3,]  0.5  0.5  1.0  0.5  0.5  0.0  0.0  0.0 …
Run Code Online (Sandbox Code Playgroud)

r matrix

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

创建表达式测试以查看R中的`as.formula('X~1')`是否包含截距?

在R中,可以指定一个公式:

F <- as.formula('X ~ 1')
Run Code Online (Sandbox Code Playgroud)

我试图想出一种方法来测试F上面是否仅包含一个拦截,即~ 1.我试图用grepl无济于事.有没有办法肯定测试上面的公式是否只包含截距?即,我希望提出一种方法,在以下不同情况下将返回true:

F <- as.formula('X~ 1')
F <- as.formula('X~1')
F <- as.formula('X ~1')
Run Code Online (Sandbox Code Playgroud)

同样.谢谢!

r

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

如何在R中高效地重命名列表列表中的元素?

我目前有大约5000个元素的大型列表。可重现的示例如下:

List.5000 <- replicate(5000, c(list(A='A',value.A=10),list(B='B',value.B=20)), simplify = F)
Run Code Online (Sandbox Code Playgroud)

其中有:

> List.5000
[[1]]
[[1]]$A
[1] "A"

[[1]]$value.A
[1] 10

[[1]]$B
[1] "B"

[[1]]$value.B
[1] 20


[[2]]
[[2]]$A
[1] "A"

[[2]]$value.A
[1] 10

[[2]]$B
[1] "B"

[[2]]$value.B
[1] 20
....
Run Code Online (Sandbox Code Playgroud)

当我打电话names(List.5000)时返回NULL。但是当我打电话时names(List.5000[[1]]),它给出:

"A"       "value.A" "B"       "value.B"
Run Code Online (Sandbox Code Playgroud)

我想将名称更改"B""Z"。有没有一种方法,而不必求助于创建新列表,然后循环和重建呢?

r

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

通过 Python 对 Instagram 进行 API 调用时,标头元素“x-instagram-ajax”的用途是什么?

在 Instagram 登录页面上,如果检查 url ' https://www.instagram.com/accounts/web_create_ajax/ ' 的 POST 调用元素,则会列出以下内容作为标头:

Host: www.instagram.com
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:61.0) Gecko/20100101 Firefox/61.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Referer: https://www.instagram.com/
X-CSRFToken: 7dmO9F3JuVGvSXumd79yByPxnHoWHz1A
X-Instagram-AJAX: c2d8f4380025
Content-Type: application/x-www-form-urlencoded
X-Requested-With: XMLHttpRequest
Content-Length: 102
Cookie: csrftoken=7dmO9F3JuVGvSXumd79yByPxnHoWHz1A; mid=W30zsQAEAAErXHJ3iUojfTceCd53; mcd=3; csrftoken=7dmO9F3JuVGvSXumd79yByPxnHoWHz1A; rur=FTW
Connection: keep-alive
Run Code Online (Sandbox Code Playgroud)

我想知道是否有人知道它X-Instagram-AJAX是什么以及我每次如何生成它。它与 成对连接吗X-CSRFToken?谢谢。

python python-3.x instagram instagram-api

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

awk:警告:在 Mac OSX 终端中运行命令时,转义序列“\/”被视为普通“/”错误

我目前正在查看一些适用于 Linux 系统(我使用的是 Mac)的代码,并一直在尝试运行这一awk行:

awk -F"[:,}][^:\/\/]" '{for(i=1;i<=NF;i++){if($i~/\042'$KEY'\042/)
{print $(i+1)}}}' | tr -d '"' | sed -n ${num}p | sed -e 
's/^[[:space:]]*//' -e 's/[[:space:]]*$//' -e 's/[,]*$//'
Run Code Online (Sandbox Code Playgroud)

返回以下错误:

awk: warning: escape sequence `\/' treated as plain `/'.
Run Code Online (Sandbox Code Playgroud)

我了解某些实现和语法与 Mac 和 Linux 不同。这个错误可能是其中之一吗?谢谢。

awk

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

如何从命令行使用 rscript 命令在 R 中运行作业数组?

R我想知道如何使用该函数运行 500 个并行作业Rscript。我目前有一个R文件的标题位于顶部:

args <- commandArgs(TRUE)
B <- as.numeric(args[1])
Num.Cores <- as.numeric(args[2])
Run Code Online (Sandbox Code Playgroud)

在 R 文件之外,我希望传递要运行的 500 个作业中的哪一个,由B. 另外,我想控制每个作业可用的核心/CPU 数量,Num.Cores

我想知道是否有软件或指南可以实现这一点。我目前有一台 CentOS 7/Linux 服务器,我知道一种方法是安装 Slurm。然而,这很麻烦,我想知道是否有办法用队列执行 500 个作业。谢谢。

hpc r cluster-computing parameter-passing slurm

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