我需要为f组(性别= 1)制作days vs age
的散点图,并使用R为m组(性别= 2)制作days vs age
的另一个散点图。
days age sex
306 74 1
455 67 2
1000 55 1
505 65 1
399 54 2
495 66 2
...
如何按性别提取数据?之后我知道使用plot()
函数来创建散点图。
谢谢!
答案 0 :(得分:7)
您可以使用传统的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)
答案 1 :(得分:0)
spread
按列值拆分数据。这也称为converting data from "long" to "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