我希望能够从我使用包插入符创建的模型中生成置信区间.这可以在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因此格式相同.
谢谢!
我正在尝试在函数内部使用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主题提供给该功能?我知道你可以简单地用逗号分隔多个列,但我不知道如何在函数中这样做.
谢谢
我有几个数据集与 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)
...但我想要一种以编程方式执行此操作的方法,无论数据集名称是什么。我怎样才能做到这一点?
我正在编写一个聚合数据帧的函数,它通常需要适用于各种各样的数据集.此功能的一个步骤是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)