종종 샘플 데이터를 만들 때 데이터프레임을 직접 만들어야 하는 경우가 있습니다. R에서 데이터 프레임을 직접 만드는 방법은 아래와 같습니다.
# Data Frame 만들기
id <- c(1,2,3,4,5,6)
class <- c(1,1,1,1,2,2)
math <- c(50,60,45,30,25,50)
english <- c(98,97,86,98,80,89)
exam <- data.frame(id,class,math,english, stringsAsFactors = F)
1) c()를 이용해 길이를 맞춰 벡터를 생성한다
2) 해당 벡터를 data.frame이라는 함수와 함께 생성한다.
3) Character가 자동으로 Factor로 처리되는 것을 막기 위해 stringsAsFactors = F로 설정해준다.
결과는 아래와 같습니다.
id class math english
1 1 1 50 98
2 2 1 60 97
3 3 1 45 86
4 4 1 30 98
5 5 2 25 80
6 6 2 50 89
꼭 이 방법을 사용해야 하는 것은 아니지만, 가장 깔끔하게 데이터를 생성할 수 있는 방법이라고 생각합니다.
더 좋은 방법은 댓글로 공유해주세요 :)
2. 데이터 프레임에 Column 추가하기
위에서 만든 데이터 프레임은 시험 점수에 대한 데이터 프레임입니다. 만약 데이터 프레임에 과학점수를 추가하고 싶을 수 있겠죠? 그럼 어떻게 해야 할까요?
# Data Frame Column 추가하기
# 1) $ 사용하기
exam$science <- c(50,60,78,58,65,98)
먼저 위와 같이 $로 이용한 방법이 있습니다.
기존의 데이터 프레임에서 $를 사용하여 새로운 Column이름을 붙여주고 똑같은 길이의 벡터를 붙여주는 방법입니다.
# 2) transform 함수 사용하기
exam <- transform(exam, physics = c(10,10,10,20,40,30))
주말마다 지방에서 업무를 하는 탓에 긴 시간을 버스에서 보내야 한다. 그런데 요즘 세상이 얼마나 좋아졌냐면, 스트리밍으로 영화를 봐버린다는 것이다. 갓플릭스의 은혜를 받고 본 마션의 후기, 지금 시작한다.
1. 엔지니어를 향한 미국의 시선
우리가 가장 가까이에서 사용하는 것들 중에서 엔지니어의 손으로부터 탄생하지 않은 것이 없다. 가전, 컴퓨터, 자동차, 핸드폰, 지금 타고 있는 이 버스까지. 엔지니어들은 늘 문제를 고민하며 그것을 해결할 수 있는 구체적 방법을 고안해 난제를 해결한 사람들이다. 그리고 그들에 대한 감독의 존경심이 이 영화 전체에 녹아져 있는 것 같다. 기술을 가진 사람이 결국 상상력을 가지면 그것을 진짜로 만들어낼 수 있는 거구나 하는 것을 영화로써 보여주는 것 뿐인데, 너무 벅차고 신났다.
만약 내가 어릴 때 이 영화를 봤고, 이 영화에서 의미하는 것들을 이해할 수 있었다면, 나는 지체없이 공학을 공부했을 것 같다. 그 때는 맞고 지금은 틀린 게 아니지만, 그래도 아쉽다. 상상력을 실천으로 만드는 힘에 나는 너무나도 큰 공경을 이제서야 가지는 것 같다.
2. 아직 탐험되지 않은 곳을 향한 인간의 호기심
현 지구의 구석구석은 탐험되었다. 물론 바다 아래 깊은 곳은 아직 인류의 영역 밖이나, 그래도 우리가 발을 딛고 걸을 수 있는 곳 중에서 인류의 호기심이 닿지 않은 곳이 없다. 새로운 곳에서 새로운 것을 만나는 것은 정말 신나는 일이다. 물론 그것이 겉잡을 수 없는 공포와 준비되지 않은 참혹함으로 이어져왔던 과거의 역사가 있지만, 그럼에도 불구하고 뻗어온 인류의 호기심 덕에 하나의 지구라는 공동체로서 세계인이 묶였다.
그런 의미에서 영화 내내 화성을 상상했다. 영화 속의 저 장면은 분명 똑같지 않더라도, 우주 저 편 어딘가에 실제로 존재하는 곳이겠지. 나도 저 곳에 닿아보고 싶다. 그 곳에서 붉은 흙을 비추는 태양빛을 바라보고 싶다는 생각을 했다.
3. 생존의 의지는 벅차오른다.
죽으려고 하는 의지는 무기력하다. 무엇도 할 수 없다고 느끼게 만들지만, 살아야겠다는 의지는 눈 앞에 있는 모든 문제를 해결할 수 있는 방법을 찾게 한다. 나는 문제해결의 순간이 생존, 또는 당면한 문제와 매우 가까이 있다는 것을 확인했다. 영어가 느는 순간은 내가 외국에서 유학을 해야 하는 때이며, 코딩이 느는 순간은 당장 내일 이 문제를 해결하지 않으면 처먹어야 하는 욕 때문이듯, 와트니를 움직인 것은 급박한 문제(물론 심각성에 있어서 비교가 안되는 수준이지만)를 해결해야 하겠다는 의지였던 것 같다.
4. 한 사람의 목숨을 두고 내리는 결정
예전에 피랍되었던 한국인을 두고 갑론을박했던 일이 있었다. 사람의 목숨과 그들을 구하는 데에 걸린 수많은 자원과 또다른 희생과 관련된 문제였기 때문이다. 그 때 피랍된 사람을 구해야겠다고 내린 결정에는 어떤 가치가 내포되어 있었을까? 만약 일이 잘못된다고 하더라도 그것을 이해할 수 있는 마음에는 무엇이 있을까?
한 사람의 목숨값은 얼마일까. 그것이 타인일 때는 그렇게 가벼워 보이지 않다가도, 나의 문제로 다가왔을 때는 그것은 온 세상의 문제다. 하지만 영화에서는 와트니의 생명만이 걸려있었다고 보이진 않는다. 인류가 걸어두고 온 희망, 꺼뜨리지 않고 그것을 찾으려는 의지, 앞서 말했던 벅차오르는 생에 대한 집착 같은 것이 눈물짓도록 힘쓰게 만드는 원동력 같다.
기대하지 않고 봤는데, 시간가는 줄 모르고 본 영화 마션. 2015년도 개봉한 영화이나 많은 사람에게 추천해주고 싶다. 아 이과갈걸.