我的挑战是我要转此:
分为:
有人会知道如何做到这一点吗?非常感谢。尝试使用gather()
,但并不真正理解它的机制!
答案 0 :(得分:0)
tidyr::gather
或reshape::melt
可以将您的数据从宽格式转换为长格式。
library(tidyr)
gather(data, Type, Specializations, -Person)
library(reshape)
melt(data, id.vars="Person")
答案 1 :(得分:0)
以下是使用gather()
包中的tidyr
的可重现示例。对于您的下一个问题,请发布用于创建数据框的代码。换句话说,帮帮我吧!
library(tidyverse)
df <- tibble::tribble(
~person, ~s1, ~s2,
"A", "Spec a", "Spec b",
"B", "Spec c", "Spec d",
"C", "Spec e", "Spec f"
)
df %>%
gather(key = "Specialization_number", value = "Specialization", -person) %>%
select(-Specialization_number) %>%
arrange(person)
产生
# A tibble: 6 x 2
person Specialization
<chr> <chr>
1 A Spec a
2 A Spec b
3 B Spec c
4 B Spec d
5 C Spec e
6 C Spec f