mpg데이터에는 해당 차량에 들어가는 연비의 종류가 표시된 fl변수가 존재한다. fl 변수에는 c(CNG), d(Disel), e(Ethanol), p(Premium), r(Regular)을 의미하는 변수가 있다. mpg데이터 변수에 만약 내가 갤런당의 가격을 넣고 싶다고 하자. mpg데이터에 추가를 하기 위한 데이터 프레임을 다음과 같이 만들었다.
결론적으로는 '연료별 가격' 을 의미하기 때문에 기준 변수는 fl변수가 될것이고, 이는 새로운 데이터의 변수를 추가하는 것이기 때문에 가로로 붙이는것에 해당이 된다. mpg데이터에 방금 만든 fuel이라는 데이터 프레임을 붙여보자. 다음과 같이 말이다.
데이터를 부착하고 출력을 시키고 보면 다음과 같이 나올것이다.
결과를 보면 맨 오른쪽에 price_fl이라는 변수가 생성된것을 볼 수 있다. 허나 warning message:가 떳다는것은 잠재적인 오류를 발생시킬수 있는 이슈이므로 짚고 넘어가줘야한다. 해당 경고가 뜨는 이유는 data.frame()함수는 변수 안에 문자형 데이터가 있으면 이의 자료형을 factor형식으로 바꾸는 성향이 있다. 이 성향에 의해서 mpg데이터에서의 fl의 기본적인 자료형은 character인 반면 합치기 위해 사용된 데이터 프레임 fuel의 fl값은 factor이므로 서로의 자료형이 맞지 않기 때문에 오류가 생기는 것이다. 이 경고창을 없애주기 위해서는 각각의 fl변수의 자료형을 맞춰주어야 하는데 fuel과 같은 데이터 프레임 형식의 데이터에서 StringAsFactor이라는 문을 써주게 되면 data.frame()함수가 문자형을 factor형으로 바꿔주는 것을 방지해 준다.
이번에는 fuel변수에 StringAsFactor값을 F(False)로 선언해주고 다시 데이터를 합쳐주자.
이번에는 아무런 경고창 없이 출력이 잘 되는것을 볼 수 있다.
'DataAnalysis > R' 카테고리의 다른 글
데이터 전처리 Analysis Challenge (0) | 2019.03.04 |
---|---|
데이터 전처리하기(Data Processing) - left_join(), bind_rows() (0) | 2019.03.03 |
데이터 전처리하기(Data Process) - summaries(), group_by() (0) | 2019.03.03 |
mutate()함수를 이용한 분석 예제 (0) | 2019.03.03 |
데이터 전처리하기(Data Processing) - mutate() (0) | 2019.03.03 |