브라질의 각 주에 대한 정보가 포함 된 Covid-19 데이터 세트가 있습니다. 날짜는 모든 주에서 동일합니다.
region state date newCases cumulativeCases newDeaths cumulativeDeaths
1 Norte RO 30/01/2020 0 0 0 0
2 Norte RO 31/01/2020 0 0 0 0
3 Norte RO 01/02/2020 0 0 0 0
4 Norte RO 02/02/2020 0 0 0 0
5 Norte RO 03/02/2020 0 0 0 0
6 Norte RO 04/02/2020 0 0 0 0
이 데이터를 다음과 같이 행에 상태와 열에 날짜가있는 사례 (또는 사망) 행렬로 변환해야합니다.
for 루프를 사용하여이 작업을 수행 할 수 있었지만이 작업을 수행하는 더 간단하고 효율적인 방법을 찾고 있습니다. 가능합니까?
미리 감사드립니다!
기본적으로 데이터는 하나의 결과 변수 (예 : newCases 또는 new Deaths)에 대해 긴 형식이고 넓은 형식으로 유지하려고합니다. 깔끔한 데이터 에 대한 정보를 확인할 수 있습니다 . 이렇게 pivot_wider
하려면 tidyr
패키지 의 함수 를 사용할 수 있습니다 .
data <- data.frame(state = rep(c("RO", "AC"), each = 5),
date = rep(seq(as.Date("2020/01/30"), by = "day", length.out = 5), times = 2),
newCases = c(0, 0, 0, 1, 2, 0, 5, 4, 0, 10))
head(data)
state date newCases
1 RO 2020-01-30 0
2 RO 2020-01-31 0
3 RO 2020-02-01 0
4 RO 2020-02-02 1
5 RO 2020-02-03 2
6 AC 2020-01-30 0
data_wide <- tidyr::pivot_wider(data = data,
names_from = date,
values_from = newCases)
head(data_wide)
# A tibble: 2 x 6
state `2020-01-30` `2020-01-31` `2020-02-01` `2020-02-02` `2020-02-03`
<fct> <dbl> <dbl> <dbl> <dbl> <dbl>
1 RO 0 0 0 1 2
2 AC 0 5 4 0 10
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다