小编Div*_*ivi的帖子

将不同的模型拟合到 R 中的每个数据子集

我有一个包含多个类的大型数据集。我的目标是为每个类别拟合一个模型,然后预测结果并在一个方面将每个类别的结果可视化。

对于可重现的示例,我使用创建了一些基本的东西mtcars。这对于每个类别的简单回归模型来说效果很好。

mtcars = data.table(mtcars)
model = mtcars[, list(fit = list(lm(mpg~disp+hp+wt))), keyby = cyl]
setkey(mtcars, cyl)
mtcars[model, pred := predict(i.fit[[1]], .SD), by = .EACHI]
ggplot(data = mtcars, aes(x = mpg, y = pred)) + geom_line() + facet_wrap(~cyl)
Run Code Online (Sandbox Code Playgroud)

但是,我想尝试像下面这样的方法,但它还不起作用。这次尝试使用了一个公式列表,但我也希望将不同的模型(一些 glms、一些树)发送到每个数据子集。

mtcars = data.table(mtcars)
factors = list(c("disp","wt"), c("disp"), c("hp"))
form = lapply(factors, function(x) as.formula(paste("mpg~",paste(x,collapse="+"))))
model = mtcars[, list(fit = list(lm(form))), keyby = cyl]
setkey(mtcars, cyl)
mtcars[model, pred := predict(i.fit[[1]], .SD), by = .EACHI]
ggplot(data = mtcars, aes(x = mpg, y …
Run Code Online (Sandbox Code Playgroud)

r data.table

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

将vertex.label放置在igraph中的圆形布局之外

我有一个圆形布局igraph.我希望顶点标签显示在圆形区域之外.试过玩vertex.label.cex,vertex.label.degree但没有奏效.请指教!

r igraph

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

dplyr和data.table的结果不同

可重复的数据集:

library(data.table)
library(dplyr)
library(zoo)

df = expand.grid(ID = sample(LETTERS[1:5]),
                 Date = seq.Date(as.Date("2012-01-01"), as.Date("2012-12-01"), by = "1 month"))
df = df[order(as.character(df$ID)),]
df = data.table(df, V1 = runif(nrow(df),0,1), V2 = runif(nrow(df),0,1), V3 = runif(nrow(df),0,1))

ind = sample(nrow(df), nrow(df)*.5)
na.gen <- function(x, ind){x[ind] <- NA}
df1 <- df %>% slice(., ind) %>% mutate_each(funs(na.gen), starts_with("V"))
df2 = df[!ind]
df <- rbind(df1, df2)
df <- df[order(as.character(df$ID), df$Date),]
df$ID = as.character(df$ID)
Run Code Online (Sandbox Code Playgroud)

在上面的数据集中,我的想法是使用Last Observation Carried Forward方法来估算数据.我原来的问题是一个非常大的数据集,所以我测试dplyrdata.table解决方案.

final_dplyr <- df %>% group_by(ID) …
Run Code Online (Sandbox Code Playgroud)

r dplyr data.table

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

标签 统计

r ×3

data.table ×2

dplyr ×1

igraph ×1