小编Dr.*_*gan的帖子

有没有办法从插入符号对象生成置信区间?

我希望能够从我使用包插入符创建的模型中生成置信区间.这可以在predict(model, data, interval = "confidence")创建模型时使用lm().但是,当我使用插入符train()函数创建的模型尝试相同的命令时,我收到以下错误:

Error in extractPrediction(list(object), unkX = newdata, unkOnly = TRUE,  : 
  unused argument (interval = "confidence")
Run Code Online (Sandbox Code Playgroud)

即使我method = "lm"train函数中设置也是如此.有谁知道如何从这样的对象获得置信区间?优选使用,predict因此格式相同.

谢谢!

r r-caret

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

如何group_by多个,灵活的标准

我正在尝试在函数内部使用group_by,分组条件是函数的输入.现在我把它设置为如此:

x <- function(data, grouping_vector) {
  data %>%
    group_by_(grouping_vector) %>%
    summarise(n = n()) -> output
  output
}
Run Code Online (Sandbox Code Playgroud)

...但是当我尝试在多个分组项目列表中使用此功能时,如下所示:

example <- x(data = my_data, grouping_vector = c(col1, col2))
Run Code Online (Sandbox Code Playgroud)

它失败.有没有办法将多个group_by主题提供给该功能?我知道你可以简单地用逗号分隔多个列,但我不知道如何在函数中这样做.

谢谢

r dplyr

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

如何使用 bind_rows() 合并数据集,同时将数据集的名称保留为变量

我有几个数据集与 bind_rows 合并在一起。我的代码看起来像这样

df1 <- data.frame(v1 = 1:10, v2 = 11:20)
df2 <- data.frame(v1 = 11:20, v2 = 1:10)

list(df1, df2) %>%
  bind_rows(.id = "name")
Run Code Online (Sandbox Code Playgroud)

我希望该name列能够阅读"df1"fordf1"df2"for df2。我知道我可以用来set_names()手动执行此操作...

list(df1, df2) %>%
  set_names(c("df1", "df2")) %>%
  bind_rows(.id = "name")
Run Code Online (Sandbox Code Playgroud)

...但我想要一种以编程方式执行此操作的方法,无论数据集名称是什么。我怎样才能做到这一点?

r dplyr purrr

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

如何通过多个灵活的条件筛选列

我正在编写一个聚合数据帧的函数,它通常需要适用于各种各样的数据集.此功能的一个步骤是dplyr的filter功能,用于仅从数据中选择与手头任务相关的广告活动类型.由于我需要灵活的功能,我想要ad_campaign_types作为输入,但这会使过滤变得多毛,如下所示:

aggregate_data <- function(ad_campaign_types) {
  raw_data %>%
    filter(ad_campaign_type == ad_campaign_types) -> agg_data
  agg_data
}
new_data <- aggregate_data(ad_campaign_types = c("campaign_A", "campaign_B", "campaign_C"))
Run Code Online (Sandbox Code Playgroud)

我认为上面的方法可行,但是当它运行时,奇怪的是它只返回过滤数据集的一小部分.有一个更好的方法吗?

另一个可替换代码的小例子:

ad_types <- c("a", "a", "a", "b", "b", "c", "c", "c", "d", "d")
revenue <- c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
data <- as.data.frame(cbind(ad_types, revenue))

# Now, filtering to select only ad types "a", "b", and "d",
# which should leave us with only 7 values
new_data <- filter(data, ad_types == c("a", …
Run Code Online (Sandbox Code Playgroud)

r function dplyr

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

标签 统计

r ×4

dplyr ×3

function ×1

purrr ×1

r-caret ×1