有没有办法重新安排这类数据?

问题描述 投票:2回答:1

每个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

------------------------

预先感谢您的帮助。

r dataframe structure
1个回答
2
投票

使用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)
© www.soinside.com 2019 - 2024. All rights reserved.