어려운 형식의 데이터를 다운로드하여 정리하려고 노력하고 있습니다. 데이터 프레임에는 여러 샘플링의 데이터가 있으며 각 샘플링에 대해 두 개의 열을 제공합니다. 하나는 전달 된 연도와 획득 한 수에 대한 것입니다. 다음은 동일한 구조를 가진 더미 데이터 세트입니다.
df<-data.frame(s1y=c(2000,2001,2002),
s1r=c(5,23,5),
s2y=c(2004,2004,2003),
s2r=c(6,2,3),
s3y=c(2009,2008,2006),
s3r=c(4,2,12))
s1y s1r s2y s2r s3y s3r
1 2000 5 2004 6 2009 4
2 2001 23 2004 2 2008 2
3 2002 5 2003 3 2006 12
열 이름에서 숫자는 샘플링 수를 나타내고 "y"와 "r"는 연도와 결과를 나타냅니다. 저는 샘플링에 대해별로 신경 쓰지 않습니다. 나는 두 개의 열, 하나는 연도에 다른 하나는 결과를 원하므로 다음과 같이 보입니다.
y r
1 2000 5
2 2001 23
3 2002 5
4 2004 6
5 2004 2
6 2003 3
7 2009 4
8 2008 2
9 2006 12
나는 이것을하려고 노력 pivot_longer()
했지만 동시에 두 개의 긴 열로 피벗하는 방법을 모르겠으며 이와 같이 하나의 열로 압축하려고 시도했습니다.
df%>%pivot_longer(cols=everything(),
names_pattern="(..)(.)",
names_to=c("sampling","type"),
values_to="result")
그런 다음을 사용 pivot_wider()
하지만 원하는 출력을 얻을 수 없습니다.
이것은 어떤가요? 데이터가 일관성이있는 경우 ( y
및 만 r
) id_col
두 행마다 변경되는 이 필요합니다 .
df %>%
pivot_longer(cols = everything(),
names_pattern="(..)(.)",
names_to=c("sampling","type"),
values_to = "result"
) %>%
mutate(id_col = row_number() + row_number() %% 2) %>%
pivot_wider(id_cols = "id_col",
names_from = "type",
values_from = "result"
)
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다