로컬 인프라 프로젝트에 대한 조사 결과의 히트 맵을 만들려고합니다. 이 설문 조사는 사람들에게 프로젝트의 주요 비용과 주요 이익이 무엇인지 예측할 것을 요청했습니다. 나는 이미 ggplot을 사용하여 비용 및 이점에 대한 간단한 히트 맵을 작성했습니다. 이제 "비용"열의 각 항목에 대한 카테고리 합계를 기준으로 정규화하는 데이터 세트에 새로운 "빈도"열을 만들려고합니다 (아래 참조). 그래서 "Frequency2"의 처음 네 가지 항목을 "빈도"열의 해당 항목으로 나누어 주택 가격이 주요 비용 (61)이고 100을 곱하여 퍼센트. R에서 이것을 할 수있는 빠른 방법이 있습니까? Excel에서 sumif를 사용하여 카테고리 합계를 구한 다음 if 문을 사용하여 새 열을 만들면됩니다. R에 비슷한 프로세스가 있습니까? 감사!새로운 데이터 프레임 열이 기존 열의 조건부
Benefits Costs Frequency
14 Local Comp Housing Prices 8
16 Jobs Housing Prices 26
17 Other Housing Prices 0
18 None Housing Prices 27
20 Local Comp Traffic 7
22 Jobs Traffic 17
23 Other Traffic 1
24 None Traffic 11
데이터
df <- data.frame(Benefits=c("Local Comp", "Jobs", "Other", "None", "Local Comp", "Jobs", "Other", "None"),
Costs=c("Housing Prices", "Housing Prices", "Housing Prices", "Housing Prices", "Traffic", "Traffic", "Traffic", "Traffic"),
Frequency=c(8,26,0,27,7,17,1,11))
'data.table' 부분이 부적절합니다. 'by ='btw를 제거하여 키 스트로크를 줄일 수 있습니다 –
하하! D @DavidArenburg –
@docendodiscimus보다 더 많은 시간이 걸렸지 만'df %> % group_by (비용) %> % mutate (Frequency2)를 생각해 냈습니다. = Frequency/sum (Frequency) * 100)'또한 –