每个ID有性别和年龄,以及功能数据。我不知道我应该如何得到一个数据集,我可以分析。
------------------------
original data form is:
ID gender age fun
1 M 10 2.5
1 M 10 2.4
1 M 10 3.3
1 M 10 5.5
1 M 10 2.2
2 F 11 4.4
2 F 11 3.3
2 F 11 2.2
2 F 11 1.1
2 F 11 3.3
I want a from of data like:
ID gender age fun
1 M 10 2.5 2.4 3.3 5.5 2.2
2 F 11 4.4 3.3 2.2 1.1 3.3
------------------------
预先感谢您的帮助。
使用tidyverse
溶液。
library(tidyverse)
dat2 <- dat %>%
group_by(ID) %>%
mutate(N = 1:n()) %>%
spread(N, fun) %>%
ungroup()
dat2
# # A tibble: 2 x 8
# ID gender age `1` `2` `3` `4` `5`
# <int> <chr> <int> <dbl> <dbl> <dbl> <dbl> <dbl>
# 1 1 M 10 2.5 2.4 3.3 5.5 2.2
# 2 2 F 11 4.4 3.3 2.2 1.1 3.3
数据
dat <- read.table(text = "ID gender age fun
1 M 10 2.5
1 M 10 2.4
1 M 10 3.3
1 M 10 5.5
1 M 10 2.2
2 F 11 4.4
2 F 11 3.3
2 F 11 2.2
2 F 11 1.1
2 F 11 3.3",
header = TRUE, stringsAsFactors = FALSE)