프로그래밍 Programming

Data Preparation (18) - Prepare (Numeric and Categoric Variables)

문장전달자 2014. 12. 6. 19:01
728x90

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"   


728x90