小编Rob*_*ong的帖子

来自predict.gbm()2.1.4与2.1.3的不一致预测

这个问题关系到我先前的职位在这里.

我已经找到了问题,这似乎与我使用的gbm版本有关.最新版本2.1.4在我的系统上展示了问题(R 3.4.4和3.5;在Ubuntu 18.04上都有),而版本2.1.3按预期工作:

mydata <- structure(list(Count = c(1L, 3L, 1L, 4L, 1L, 0L, 1L, 2L, 0L, 0L, 1L, 1L, 2L, 1L, 2L, 2L, 1L, 2L, 0L, 2L, 3L, 1L, 4L, 3L, 0L, 4L, 1L, 2L, 1L, 1L, 0L, 2L, 1L, 4L, 1L, 5L, 3L, 0L, 0L, 1L, 1L, 0L, 1L, 0L, 0L, 2L, 0L, 0L, 1L, 1L, 1L, 0L, 3L, 1L, 1L, 0L, 3L, 1L, 1L, 1L, 1L, 2L, 3L, 2L, 2L, 0L, 0L, 3L, 5L, 1L, …
Run Code Online (Sandbox Code Playgroud)

r machine-learning gbm

5
推荐指数
0
解决办法
182
查看次数

将文本数组从 Postgres 复制到 Snowflake

我有一些带有文本数组字段的表要从 Postgres 复制到 Snowflake,但遇到了问题。Snowflake 中的相应字段现在定义为数组。

Postgres 中文本数组字段中的某些值具有单个实体字符串,周围没有双引号,如下所示(本示例中的 abc 导致错误):

{abc, "bc dcd", "de ef fg"}
Run Code Online (Sandbox Code Playgroud)

看起来这个 (abc) 在 Postgres 中不是问题,但 Snowflake 不接受它作为有效值。我正在使用 Snowflake Python 连接器,它抱怨“JSON 解析错误”。有什么解决办法吗?我想将其复制为 Snowflake 中的文本字段(而不是数组)可能会解决该问题,但我想知道数组类型是否有任何解决方法。

sql postgresql snowflake-cloud-data-platform

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

雪花行访问策略权限

我无法找到所需的权限列表 -

1.) 为角色创建行访问策略 2.) 将策略的使用授予不同的角色 3.) 将策略的修改授予不同的角色

需要从 DBADMIN 开始的简单逐步示例。

snowflake-schema snowflake-cloud-data-platform

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

将`expression()`与`\n`结合起来

我有一个ggplot,我expression(phantom(x) >=80)在标签文本中用来获得一个正确的大于或等于的符号.

但是我还需要紧下面(N = ...):

require(ggplot2)
.d <- data.frame(a = letters[1:6], y = 1:6)

labs <- c("0-9\n(N=10)","10-29\n(N=10)","30-49\n(N=10)", +
   "50-64\n(N=10)","65-79\n(N=10)", expression(phantom(x) >=80))

ggplot(.d, aes(x=a,y=y)) + geom_point() + 
   scale_x_discrete(labels = labs)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

我如何结合expression()逃生\n

r ggplot2 plotmath

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

pandas 内连接、左连接和右连接的时间复杂度是 O(n) 吗?

我在这个线程中读到:

pandas DataFrame.join 的运行时间是多少(大“O”顺序)?

内连接预计为 O(n),而左连接和右连接预计为 O(n log n)。我一直在使用随机数据帧进行一些测试,例如:

df1 = pd.DataFrame({
        'user_id': range(1, size + 1),  # Unique user_id for df1
        'numeric_1': np.random.rand(size),
        'numeric_2': np.random.rand(size),
        'numeric_3': np.random.rand(size),
        'string_1': np.random.choice(['A', 'B', 'C', 'D'], size),
        'string_2': np.random.choice(['E', 'F', 'G', 'H'], size),
        'string_3': np.random.choice(['I', 'J', 'K', 'L'], size),
    })

df2 = pd.DataFrame({
        'user_id': range(size + 1, 2 * size + 1),  # Ensuring unique user_id for df2
        'numeric_4': np.random.rand(size),
        'numeric_5': np.random.rand(size),
        'numeric_6': np.random.rand(size),
        'string_4': np.random.choice(['M', 'N', 'O', 'P'], size),
        'string_5': np.random.choice(['Q', 'R', …
Run Code Online (Sandbox Code Playgroud)

python join dataframe pandas

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

从 mer 对象中提取观察次数和随机效应模式

我有一个mer创建的对象,调用 to lmer()

我可以获得随机效应,ranef()但我也希望每个随机效应都有相应数量的观察 - 有没有简单的方法来做到这一点?

附加信息:

上面我可能没有说清楚。举例来说,如果我有医院和随机拦截医院内聚集病人简单的2级车型,我想提取每个医院随机效应ranef() 一起与患者各医院内的号码。目前,我使用

ranef(fullmodel)[[1]]
Run Code Online (Sandbox Code Playgroud)

这给了我类似的东西:

     (Intercept)
ADE -0.108195883
BEJ -0.005761677
CIS  0.124129426
CMH  0.270879048
CSI  0.285344837
CUL  0.189308979
Run Code Online (Sandbox Code Playgroud)

我想得到类似的东西:

     (Intercept)  n
ADE -0.108195883  77
BEJ -0.005761677  171
CIS  0.124129426  201
CMH  0.270879048  39
CSI  0.285344837  171
CUL  0.189308979  131
Run Code Online (Sandbox Code Playgroud)

为此,我一直在使用

fullmodel <- glmer(.....+(1|hospital), data=dt1)

freqs <- as.data.frame(table(dt1$hospital))
freqs <- freqs[foo$Freq>0,]
Run Code Online (Sandbox Code Playgroud)

然后cbind将其添加到结果中ranef(fullmodel)[[1]]

然而,这似乎并不复杂并且容易出错。

r random-effects lmer

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

带有 geom_errorbar 的position_dodge

我有以下代码

require(ggplot2)
pd <- position_dodge(0.3)
ggplot(dt, aes(x=Time, y=OR, colour=Group)) + 
    geom_errorbar(aes(ymin=CI_lower, ymax=CI_upper), colour="black", width=.4, position=pd) +
    geom_point(size=2.2, position=pd) +
    geom_hline(aes(yintercept=1), colour="#990000", linetype="dashed")
Run Code Online (Sandbox Code Playgroud)

产生这个

在此输入图像描述

和错误ymax not defined: adjusting position using y instead

数据是:

dt <- structure(list(CI_upper = c(1.93, 1.34, 0.73, 0.69, 0.99, 0.81), CI_lower = c(0.54, 0.66, 0.34, 0.48, 0.34, 0.49), Time = structure(c(1L, 1L, 2L, 2L, 3L, 3L), .Label = c("1", "2", "12"), class = "factor"), 
OR = c(1.02, 0.94, 0.5, 0.58, 0.58, 0.63), Group = c("D", 
"ND", "D", …
Run Code Online (Sandbox Code Playgroud)

r ggplot2

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

返回WHERE子句不完全匹配的行

我提前为问题标题道歉.我真的很努力写一些简洁的东西!

我有一个类似于以下的表:

| Item    | Date       | Value |
| A       | 2018-12-01 | 1     |
| B       | 2018-12-01 | 2     |
| C       | 2018-12-01 | 2     |
| A       | 2018-12-02 | 3     |
| B       | 2018-12-02 | 3     |
Run Code Online (Sandbox Code Playgroud)

我想写一个查询,这样当我给它一个特定的日期时,它会为Item表中的每个唯一返回一行,并且它Value在给定的日期,或者如果在给定的日期没有观察到它,那么它最后一次被观察到了.

因此,使用上表,如果我提供2018-12-01它将返回:

| Item    | Date       | Value |
| A       | 2018-12-01 | 1     |
| B       | 2018-12-01 | 2     |
| C       | …
Run Code Online (Sandbox Code Playgroud)

sql postgresql select

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

从数据框中选择行

请考虑以下示例代码:

d1 <- c(1,2,2,3,4,3)
d2 <- c(10,11,12,13,14,15)

dt <- data.frame(d1,d2)

sample.index <- c(2,3)

dt[dt$d1 %in% sample.index, ]
Run Code Online (Sandbox Code Playgroud)

这回来了

  d1 d2
2  2 11
3  2 12
4  3 13
6  3 15
Run Code Online (Sandbox Code Playgroud)

这没关系.但是,如果我们有

sample.index <- c(2,2,3)
Run Code Online (Sandbox Code Playgroud)

然后代码仍然返回相同的结果.相反,我希望匹配2的行返回两次因为2出现两次sample.index- 我怎么能实现这一点?

r

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

使用 mlr 预测计数

我正在使用学习器regr.gbm来预测计数。在 之外mlrgbm直接使用包,我使用distribution = "poisson"predict.gbm,使用type = "response",返回原始比例的预测,但是我注意到,当我使用 执行此操作时mlr,预测似乎在对数比例上:

     truth    response
913      4  0.67348708
914      1  0.28413256
915      3  0.41871237
916      1  0.13027792
2101     1 -0.02092168
2102     2  0.23394970
Run Code Online (Sandbox Code Playgroud)

然而,“真相”不在对数尺度上,所以我担心超参数调整例程mlr不起作用。为了比较,这是我得到的输出distribution = "gaussian"

     truth response
913      4 2.028177
914      1 1.334658
915      3 1.552846
916      1 1.153072
2101     1 1.006362
2102     2 1.281811
Run Code Online (Sandbox Code Playgroud)

处理这个问题的最佳方法是什么?

r machine-learning mlr

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

如何从表中抽取 10% 的数据?

如何从 Snowflake 中的表返回 10% 的行。例如,如何在对表进行排序后返回第 10、20、30 行。

sql snowflake-schema snowflake-cloud-data-platform

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