크기가 103740 x 4 인 데이터 프레임을 와이드 포맷, 즉 아래 첫 번째 텍스트 블록에서 두 번째 텍스트 프레임으로 이동하는 데 바꾼다. 데이터 프레임의 일부에 적용 할 때 다음 함수는 충분히 잘 작동하지만 전체 데이터 프레임에 적용 할 때 내 컴퓨터의 사용 가능한 메모리를 소모 :R에서 대용량 데이터 프레임을 제거하는 더 좋은 방법은 무엇입니까?
reshape(analysis1[1:8], idvar=c("name", "sire_name"),
timevar = "course", direction = "wide")[, -c(1,2)]
이 데이터 프레임을 언 스택 몇 가지 더 나은 방법은 무엇입니까?
name sire_name course appearance
1 A Beetoo Bahhare Kempton 0
2 A Beetoo Bahhare Lingfield 9
3 A Beetoo Bahhare Southwell 0
4 A Beetoo Bahhare Wolverhampton 0
5 A Bid In Time Danetime Kempton 0
6 A Bid In Time Danetime Lingfield 3
7 A Bid In Time Danetime Southwell 2
8 A Bid In Time Danetime Wolverhampton 2
...
Kempton Lingfield Southwell Wolverhampton
1 0 9 0 0
5 0 3 2 2
...
데이터 테이블로 데이터 프레임을 이동 시키려고했지만이 작업만으로는 도움이되지 않습니다.
아마도 데이터 프레임이 적절하게 정렬되었다고 가정해야합니다. – joran
예, 첫 번째 버전에서는 표시된대로 데이터 프레임이 정렬되어 있다고 가정합니다. 그렇지 않다면 두 번째 버전을 사용하십시오. – John
이것은 기본적으로'reshape :: melt'이하는 것입니다. 훨씬 느린 경우 놀랄 것입니다. 그리고 속도가 느린 경우, 값이 누락 된 것에 대해 걱정할 필요가 없으므로 아마도 오랫동안 잘못된 시간에 시간을 절약 할 수 있다고 주장 할 것입니다. – hadley