通过R中匹配的第三个字符串/因子打印数据
我在R中有一个数据框,包括服务水平、年龄和多种更广泛的条件通过R中匹配的第三个字符串/因子打印数据,r,plot,dataframe,R,Plot,Dataframe,我在R中有一个数据框,包括服务水平、年龄和多种更广泛的条件 LOS AGE broader.condition 1 75 Spinal 2 68 Urology 1 88 Thoracic 8 76 Spinal 5 70 Billary ... ...
LOS AGE broader.condition
1 75 Spinal
2 68 Urology
1 88 Thoracic
8 76 Spinal
5 70 Billary
... ... ...
我想为每一个更广泛的条件绘制年龄与服务水平的关系图,即年龄与服务水平的关系,在r中有一个匹配的第三列条件。这可以通过名称指定(即,如果需要,专门查看某个更广泛的条件),也可以自动运行整个数据集,并自动绘制每个更广泛的条件
任何建议都将不胜感激,谢谢
可复制的类似数据集如下
data如果我正确理解您的问题,我认为使用dplyr
包中的filter
是一个不错的选择
确定第三列的唯一值:
levs <- unique(data$broader.condition)
levs首先,这是否与您所追求的更通用选项类似?
使用库(ggplot2)
或
可能需要按特定条件进行过滤,因此这很好。谢谢这两种方法都非常有用,尤其是第二种方法,用于隔离具有很长停留时间的情况。谢谢你。
require(dplyr)
fdata <- filter(data, broader.condition == levs[1])
plot(fdata$LOS, fdata$ADMISSION_AGE_YEARS,
pch=19, xlab= 'LOS', ylab= 'AGE', main= paste0(levs[1]))
for (i in 1:length(levs))
{
temp <- filter(data, broader.condition == levs[i])
plot(temp$LOS, temp$ADMISSION_AGE_YEARS,
pch=19, xlab= 'LOS', ylab= 'AGE', main= paste0(levs[i]))
}
ggplot(data, aes(x = ADMISSION_AGE_YEARS, y = LOS)) +
geom_point() +
facet_grid(. ~ broader.condition) +
theme_bw()
ggplot(data, aes(x = ADMISSION_AGE_YEARS, y = LOS, colour = broader.condition)) +
geom_point() +
theme_bw()