在R中,如何仅为一个组绘制绘图?
我想做的是将plot函数仅应用于数据集中的某些记录选择。比如说,我有一列长度(数字),一列体重(数字)和一列性别(M或F)(某种动物)。我想散点绘制长度与质量的关系,但只针对M,这样F就不会出现在图上。如何做到这一点?有多种方法可以将数据帧子集:在R中,如何仅为一个组绘制绘图?,r,plot,R,Plot,我想做的是将plot函数仅应用于数据集中的某些记录选择。比如说,我有一列长度(数字),一列体重(数字)和一列性别(M或F)(某种动物)。我想散点绘制长度与质量的关系,但只针对M,这样F就不会出现在图上。如何做到这一点?有多种方法可以将数据帧子集: mydata <- data.frame( length = rnorm(100 , 100 , 20), mass = rnorm(100 , 80,5), sex = sample( factor(c("male", "female
mydata <- data.frame(
length = rnorm(100 , 100 , 20),
mass = rnorm(100 , 80,5),
sex = sample( factor(c("male", "female") ) , 100 , replace=TRUE)
)
with( mydata[ mydata$sex=="male", ] , plot(mass , length ) )
# or
with( subset(mydata , sex=="male") , plot(mass, length ) )
# or make a new dataset
mydata2 <- mydata[ mydata$sex=="male" , ]
plot(mydata2$mass , mydata2$length)
同样的技术也可以用于数据框或矩阵的列子集。假设您的数据是一个数据框,其性别作为字符变量,取值为“M”和“F”<代码>绘图(数据集[数据集$sex==“M”,]$length,数据集[数据集$sex==“M”,]$mass)将实现您想要的结果。一般来说,您应该阅读R中的子集
logical_vec_to_select <- mydata$sex=="male"
mydata[ logical_vec_to_select , ]