0
나는 year | country | growth_rate 열이있는 데이터 프레임을 가지고 있습니다. 각 나라의 성장률을 내가 선택한 다른 나라와 비교하고 주어진 해에 더 높은 성장률을 보인 국가를 필터링하고 싶습니다. 데이터 프레임에서 값과 필터링 비교
은 그래서 첫 번째 단계는 성장 모든 국가의 요금과 나의 선택 국가 사이의 차이를 가지고하는 것입니다 생각, 나는 여기까지 얻을 수 있었다 :difference <- ddply(data, .(year), transform,
x=growth_rate - 4)
이 나에게 첫 번째 데이터 프레임을 줄 것이라고 내가 원한다면, 하드 코딩 된 코드 만이 해당 연도에 선택한 국가의 성장률 (캐나다라고합시다)이어야합니다. 나는 다음과 같이 시도했다.
difference <- ddply(data, .(year), transform,
x=growth_rate - data[country=="Canada",]$growth_rate)
그러나 이것은 올바르지 않다.
일단 이것이 올바른 것이면 다음 단계는 x> 0 인 행만 필터링하는 것입니다.
도움을 주시면 감사하겠습니다.
이 내 데이터 프레임이 어떻게 생겼는지입니다 : 바로 질문을 이해하면
> head(data)
iso2c country growth_rate year
1 1A Arab World 3.911548 2012
2 1A Arab World 5.282387 2011
3 1A Arab World 4.648676 2010
4 1A Arab World 2.253365 2009
5 1A Arab World 6.509886 2008
6 1A Arab World 5.634384 2007
감사합니다. data.table 라이브러리에 익숙하지 않았습니다. 이 데이터를 다음과 같은 오류가 발생하면 오류가 발생합니다. '[.data.frame' (데이터,,': ='(ToKeep, growth_rate> .SD [country == : 사용되지 않은 인수 – user1754606
죄송합니다.이 코멘트 기능은 끔찍합니다. 나는 year라는 열을 가지고 있는데, 제 질문에 추가했습니다. – user1754606
이 코드를 사용하려면 먼저'data.table' 패키지를 설치해야합니다 .dt를 data.frame으로 선언하십시오. data.table 특정 기능을 사용하기 때문에 코드가 작동하지 않게됩니다. – TheComeOnMan