numeric, categoric 변수에 대한 확인도 필요하다.
여기서는 numeric, categoric 모두 이름과 인덱스를 통해 확인한다.
인덱스를 사용하는 것은 해당 데이터세트내에 변수를 항상 일정한 순서로 배열하며, 모든 변수가 존재한다고 가정해야함을 의미한다.
> which(sapply(ds, is.numeric))
min_temp max_temp rainfall evaporation
3 4 5 6
sunshine wind_gust_speed wind_speed_9am wind_speed_3pm
7 9 12 13
humidity_9am humidity_3pm pressure_9am pressure_3pm
14 15 16 17
cloud_9am cloud_3pm temp_9am temp_3pm
18 19 20 21
risk_mm
23
> intersect(inputi, which(sapply(ds, is.numeric)))
[1] 3 4 5 6 7 9 12 13 14 15 17 18 19 23
> numi <- intersect(inputi, which(sapply(ds, is.numeric)))
> numi
[1] 3 4 5 6 7 9 12 13 14 15 17 18 19 23
> names(ds)[numi] // names() : 해당 오브젝트의 이름을 정하거나 변경할 때
[1] "min_temp" "max_temp" "rainfall"
[4] "evaporation" "sunshine" "wind_gust_speed"
[7] "wind_speed_9am" "wind_speed_3pm" "humidity_9am"
[10] "humidity_3pm" "pressure_3pm" "cloud_9am"
[13] "cloud_3pm" "risk_mm"
> numc <- names(ds)[numi]
> numc
[1] "min_temp" "max_temp" "rainfall"
[4] "evaporation" "sunshine" "wind_gust_speed"
[7] "wind_speed_9am" "wind_speed_3pm" "humidity_9am"
[10] "humidity_3pm" "pressure_3pm" "cloud_9am"
[13] "cloud_3pm" "risk_mm"
> which(sapply(ds, is.factor))
location wind_gust_dir wind_dir_9am wind_dir_3pm rain_today
2 8 10 11 22
rain_tomorrow
24
> intersect(inputi, which(sapply(ds, is.factor)))
[1] 8 10 11 22
> cati <- intersect(inputi, which(sapply(ds, is.factor)))
> cati
[1] 8 10 11 22
> names(ds)[cati]
[1] "wind_gust_dir" "wind_dir_9am" "wind_dir_3pm" "rain_today"
> catc <- names(ds)[cati]
> catc
[1] "wind_gust_dir" "wind_dir_9am" "wind_dir_3pm" "rain_today"
>
'프로그래밍 Programming' 카테고리의 다른 글
Data Preparation (20) - Review (전체코드) (0) | 2014.12.09 |
---|---|
Data Preparation (19) - Prepare (Save Dataset) (0) | 2014.12.09 |
Data Preparation (17) - Prepare (Variables) (0) | 2014.12.06 |
Data Preparation (10) - Clean (Identify Correlated Variables) (0) | 2014.12.06 |
Data Preparation (16) - Clean (Ensure Target is Categoric) (0) | 2014.12.06 |