4

我需要为days vs agef 组 (sex=1) 制作一个散点图,并days vs age使用 R 为 m 组 (sex=2)制作另一个散点图。

days  age sex
 306  74   1
 455  67   2
1000  55   1
 505  65   1
 399  54   2
 495  66   2
 ...

如何按性别提取数据?之后我知道使用plot()函数创建散点图。

谢谢!

4

2 回答 2

9

您可以使用传统的 R 图形函数来做到这一点,例如:

plot(age ~ days, Data[Data$sex == 1, ])
plot(age ~ days, Data[Data$sex == 2, ])

如果您更喜欢为点着色而不是分开图(这可能更容易理解),您可以这样做:

plot(age ~ days, Data, col=Data$sex)

然而,这种情节使用ggplot2会特别容易(而且看起来更好) :

library(ggplot2)
ggplot(Data, aes(x=days, y=age)) + geom_point() + facet_wrap(~sex)
于 2012-09-25T23:54:54.140 回答
0

spread按列值拆分数据。这也称为将数据从 "long" 转换为 "wide"

我没有测试过这个,但是类似

spread(data, sex, age) 

应该得到你

days  1    2
 306  74   NA
 455  NA   67   
1000  55   NA
 505  65   NA
 399  NA   54   
 495  NA   66 
于 2017-09-01T15:03:28.827 回答