使用predict()一个可以获得对于给定模型y的自变量(x)的特定值的因变量()的预测值.是否有任何预测x给定的函数y?
例如:
kalythos <- data.frame(x = c(20,35,45,55,70),
n = rep(50,5), y = c(6,17,26,37,44))
kalythos$Ymat <- cbind(kalythos$y, kalythos$n - kalythos$y)
model <- glm(Ymat ~ x, family = binomial, data = kalythos)
Run Code Online (Sandbox Code Playgroud)
如果我们想知道模型的预测值x=50:
predict(model, data.frame(x=50), type = "response")
Run Code Online (Sandbox Code Playgroud)
例如,我想知道哪个x是y=30.
我想要cbind两个数据框并删除重复的列.例如:
df1 <- data.frame(var1=c('a','b','c'), var2=c(1,2,3))
df2 <- data.frame(var1=c('a','b','c'), var3=c(2,4,6))
cbind(df1,df2) #this creates a data frame in which column var1 is duplicated
Run Code Online (Sandbox Code Playgroud)
我想创建一个包含列的数据框var1,var2并且不会重复var3哪一列var2.
来自R帮助do()的稍微改变的例子:
by_cyl <- group_by(mtcars, cyl)
models <- by_cyl %>% do(mod = lm(mpg ~ disp, data = .))
coefficients<-models %>% do(data.frame(coef = coef(.$mod)[[1]]))
Run Code Online (Sandbox Code Playgroud)
在数据帧系数中,每个cyl组都有第一个线性模型系数.我的问题是如何生成一个数据框,其中不仅包含具有系数的列,还包含具有分组变量的列.
=====编辑:我扩展示例以尝试更清楚我的问题
让我们假设我想提取模型的系数和一些预测.我可以做这个:
by_cyl <- group_by(mtcars, cyl)
getpars <- function(df){
fit <- lm(mpg ~ disp, data = df)
data.frame(intercept=coef(fit)[1],slope=coef(fit)[2])
}
getprediction <- function(df){
fit <- lm(mpg ~ disp, data = df)
x <- df$disp
y <- predict(fit, data.frame(disp= x), type = "response")
data.frame(x,y)
}
pars <- by_cyl %>% do(getpars(.))
prediction <- by_cyl %>% do(getprediction(.)) …Run Code Online (Sandbox Code Playgroud) 以前,我曾经group_by_at按字符串向量或按 NULL 分组:
library(tidyverse)
grouping_1 <- c("cyl", "vs")
grouping_2 <- NULL
mtcars %>% group_by_at(grouping_1)
mtcars %>% group_by_at(grouping_2)
Run Code Online (Sandbox Code Playgroud)
的帮助group_by_at表明该函数已被取代,across应改为使用该函数。但是,按 NULL 分组会出现错误
mtcars %>% group_by(across(grouping_1)) # this works
mtcars %>% group_by(across(grouping_2)) # this gives an error
Run Code Online (Sandbox Code Playgroud)
对我来说,group_by_at以所描述的方式使用很有用,因为在我的函数中,我可以使用相同的代码,而无需每次都检查分组参数是否为空 (NULL)。
我使用ggplot2来绘制我的图形.我想使用图表来创建主题演讲.
在我的演讲中,我想顺序介绍情节的不同元素.首先,对应于条件A的点,然后是对应于条件B的点,然后是一些曲线.
我想也许我可以创建整个情节并以一种我可以操纵主题演讲中的单个元素的方式导出它(比如删除一个条件的点).感谢来自stackoverflow的人,我能够做到这一点: R,将文件导出到主题演讲
但我发现在主题演讲中选择单个元素非常困难.所以,我想知道哪种更有效的方式.
我有一个数据框,其中列的名称类似于a,b,v1,v2,v3 ... v100.我想创建一个新列,仅将函数应用于名称包含"v"的列.
例如,给定此数据框
df<-data.frame(a=rnorm(3),v1=rnorm(3),v2=rnorm(3),v3=rnorm(3))
Run Code Online (Sandbox Code Playgroud)
我想创建一个新列,其中每个元素是同一行中v1,v2和v3元素的总和.
我想转换这样的列表:
l <- list(x = c(1, 2), y = c(3, 4, 5))
Run Code Online (Sandbox Code Playgroud)
像这样的一个小组:
Name Value
x 1
x 2
y 3
y 4
y 5
Run Code Online (Sandbox Code Playgroud) 我曾经这样做,使用 group_by_
library(dplyr)
group_by <- c('cyl', 'vs')
mtcars %>% group_by_(.dots = group_by) %>% summarise(gear = mean(gear))
Run Code Online (Sandbox Code Playgroud)
但现在已group_by_被弃用.我不知道如何使用整洁的评估框架来做到这一点.