대부분의 질문은 데이터를 추출하고 구성하는 방법이며, 사전 교육없이 내가 원하는 것을 분명히 표현할 수 없다는 것에 대해 사과드립니다. 나는 심지어 텍스트 책이나 온라인에서 그들을보기 위해 사물을 표현하는 법을 알기를 바란다. 여기 내 질문 :r에 루프를 사용하여 서브 세트 및 그룹화하는 방법은 무엇입니까?
ID라는 고유 한 그룹 ID가있는 데이터 프레임이 있는데 153 개의 고유 한 ID가 있지만 그 그룹의 정보가 6,000 개를 넘습니다.
내가하고 싶은 것은 한 번에 2 개 그룹의 모든 정보를 가져 와서 모든 관련 정보가있는 간단한 CSV 파일을 작성하는 것입니다. 전체 개인 수가 홀수 인 경우 어떻게 작동합니까 (n = 153).
나는 이런 식으로 뭔가 생각이 작동하지 않는IDs = unique(dat$ID)
for (i in length(IDs)){
IDgp = subset(dat, dat$ID==IDs[i] & dat$ID==IDs[i+1])
write.csv(IDgp, paste(IDgp[i],".csv")
i = i+2
}
을, 그리고 그것이 다음 "이 그룹"을 증가하는 방법을 모르겠습니다. 나는 루프가 clunky하고 나는 어쩌면 ddply 일할 수도 또는 심지어 명령을 하위 집합 대신 생각했다. R에서 여러 가지 일을 할 수있는 방법이 많기 때문에 나는 무엇을하고 싶은지도 모릅니다. 나는 그것을 복잡하게 끝났다고 생각한다.
나는 대답을 찾고 있었고 가능성을 넘어서 왔지만 한 번에 두 개 이상의 그룹에 대한 정보를 쓰는 법을 모르며 함수 (x) 명령이 무엇인지 분명하지 않습니다. 진행 중입니다.
d_ply(dat, "ID", function(x)
write.csv(x[i], file = paste(x$ID[i], ".csv")
, row.names = FALSE))
가능한 모든 그룹 ID 쌍의 데이터를 별도의 파일에 저장해야합니까? – DrDom
아마 이런 식으로 접근하지는 않지만 대신 while 루프를 사용할 수 있습니다. –
@DrDom 아니요, 가능한 모든 쌍이 아니며, 순차적으로 목록을 작성합니다. 그룹 1 및 2의 정보가있는 파일을 생성 한 다음 그룹 3 및 4의 파일을 생성 한 다음 5 및 6의 파일을 생성합니다. 'zoo' 패키지의'rollapply'는 – Kerry