我目前正在写我的论文,我有一件无法通过搜索网络解决的问题。我有一些数据集,我必须比较前后的结果,我想通过比较两组直方图(两组均包含 5 个图)来将其可视化。认为这对你们来说是一个非常简单的问题,但仍然需要一些帮助。
我尝试了一些东西,但最终还是搞砸了 ggplot。我知道我可能需要添加两行小代码,但我真的很难找到它们。
我有以下代码暂时有效。
df <- as.data.frame(clust1_mat[,1:5])
p1 <- ggplot(gather(df), aes(value)) +
geom_histogram(bins = 10) +
facet_wrap(~key, scales = 'free_x', nrow= 1) +
xlab("Average results students in CLuster 1")
p1 + geom_density(fill="lightblue")
df <- as.data.frame(cijfers_list[,1:5])
p2 <- ggplot(gather(df), aes(value)) +
geom_histogram(bins = 10) +
facet_wrap(~key, scales = 'free_x', nrow=1) +
xlab("Average results students before clustering")
p2 + geom_density(fill="lightblue")
grid.arrange(p1, p2, nrow=2)
Run Code Online (Sandbox Code Playgroud)
我想在每个直方图的平均值上添加一条阴影密度曲线和一条红色垂直线。
clust1_mat 数据:
structure(list(`BSTAT-TH` = c(6.9, 7, 8.1, 7.1, 6.2, 7, 6.2,
7.7, 9.3, 6.3, 6.7, 6.9, …Run Code Online (Sandbox Code Playgroud) 我只是在玩随机森林,但我似乎遇到了问题。当我尝试使用该randomForest()函数时,它返回错误 : Error in eval(predvars, data, env) : object '180018R' not found。这是最新的(相关)代码行,后面是structure()输出。
install.packages("randomForest")
# Random forest
data <- as.data.frame(pattern_mat)
str(data)
# Response variable is "Response" Column 313
data$Response <- as.factor(data$Response)
table(data$Response)
### Data Partition
set.seed(123)
ind <- sample(2, nrow(data), replace=TRUE, prob=(c(0.7, 0.3)))
train <- data[ind==1,]
test <- data[ind==2,]
### Random Forest
library(randomForest)
set.seed(222)
rf <- randomForest(Response~., data = train)
Run Code Online (Sandbox Code Playgroud)
结构信息 *我缩短了输出,因为它是不必要的。
> str(train)
'data.frame': 145 obs. of 313 variables:
$ 180018R : num 1 0 …Run Code Online (Sandbox Code Playgroud)