안녕하세요. 내용이 길어질것 같아 제 블로그로 초대했습니다. 혹시 출처 삭제 원하시면 알려주세요. 지워드립니다. 제가 html이 아직 익숙치 않아서 배경화면이 살짝 달라지네요. 이 점 양해 부탁드립니다.
1) (list로 받아진걸) 행렬로 저장하는 xxx가 뭔지 궁금합니다. a <- read.csv(file="c:\\order4.csv", header=TRUE, sep=","); typeof(a); xxx(a); 2) 가령 5열의 1행부터 4행까지 공란을 숫자 zero (0)으로 채워넣으려고 합니다. / 물론 원파일은 매우 크고 이런 공란은 여러군데에서 생기지요 / 공란생긴거 모두 0 으로 바꾸는게 가능한가요? |
파일이 한글파일인가요? 엑셀파일 열면 글씨가 깨져서 임의로 다른 파일 사용했습니다. csv파일에서 제가 AREA의 숫자를 일부러 몇개 지워서 저장했고요. 얘를 R로 불러왔습니다. 아래 데이터 보면 NA가 되어있죠. 아마 공란이 되어있을수도 있고 NA처럼 되어있을수도 있어요.
apple<- read.csv("/Users/XX/Desktop/apple.csv", header = TRUE)[1:20,1:9]
apple
## CROP AREA DATATIME Tavg Tmax Tmin Rain RH Wet
## 1 apple 1 08-03-01 0:00 1.84 9.92 -6.08 0.00 46.66 0.00
## 2 apple 1 08-03-02 0:00 2.06 11.36 -5.40 0.00 52.88 0.00
## 3 apple 1 08-03-03 0:00 2.80 8.32 -2.58 0.00 62.32 0.00
## 4 apple NA 08-03-04 0:00 0.20 3.72 -2.76 2.62 84.14 0.56
## 5 apple 1 08-03-05 0:00 1.10 9.26 -3.66 0.00 71.56 0.30
## 6 apple 1 08-03-06 0:00 1.10 9.30 -7.00 0.00 65.38 0.20
## 7 apple 1 08-03-07 0:00 2.08 8.72 -3.62 0.00 63.36 0.00
## 8 apple 1 08-03-08 0:00 1.94 12.90 -7.98 0.00 54.76 0.20
## 9 apple 1 08-03-09 0:00 4.54 15.02 -3.18 0.00 48.44 0.00
## 10 apple 1 08-03-10 0:00 4.40 14.82 -4.30 0.00 57.50 0.00
## 11 apple 1 08-03-11 0:00 6.26 17.36 -3.20 0.00 65.16 0.12
## 12 apple 1 08-03-12 0:00 7.58 18.04 -0.98 0.00 67.28 0.20
## 13 apple 1 08-03-13 0:00 7.18 14.82 0.74 0.58 69.62 0.10
## 14 apple NA 08-03-14 0:00 7.90 14.80 0.44 0.00 69.38 0.40
## 15 apple 1 08-03-15 0:00 8.60 16.76 -0.20 0.00 57.06 0.00
## 16 apple 1 08-03-16 0:00 8.26 15.22 0.48 0.00 45.22 0.00
## 17 apple 1 08-03-17 0:00 6.18 17.84 -4.56 0.00 47.38 0.00
## 18 apple 1 08-03-18 0:00 8.80 18.28 -0.36 0.00 60.98 0.10
## 19 apple NA 08-03-19 0:00 8.00 14.54 -0.42 0.00 66.42 0.00
## 20 apple 1 08-03-20 0:00 5.10 15.66 -5.60 0.00 54.50 0.12
typeof(apple) - TYPE보면 LIST라고 되어있죠?
## [1] "list"
class(apple) - CLASS 보면 data.frame으로 되어있습니다. typeof와 class의 차이가 뭐냐라고 하면 컴퓨터적인 얘기이지만 object를 컴퓨터의 메모리에 어떻게 저장하느냐, 표현형식이 뭐냐인데요. 이건 주 내용이 아니니까 패스합니다.
## [1] "data.frame"
apple <-as.matrix(apple) -matrix 형식으로 바꾸고 싶으면 as.matrix(데이터이름) 하면 됩니다. 그러면
typeof(apple) - typeof는 캐릭터형식으로 메모리에 저장된다고 하고요. 제가 여기엔 안적었지만 class가 어떤지 물어보면 matrix라고 뜹니다.
## [1] "character"
is.character(apple[,2]) - 두번째 열이 문자형이냐고 물어봤더니 맞다네요. 제가 문자형으로 바꿔준 이유는 NA를 다른 수로 바꾸고 싶어서예요.
## [1] TRUE
apple[is.na(apple)] <-0 - 명령어보면 apple데이터안에 is.na 즉 na가 있냐라고 물어본거고 있으면 0을 넣어라..라는 의미입니다. 아래 결과값 보면 0 잘 들어갔죠?
apple
## CROP AREA DATATIME Tavg Tmax Tmin Rain RH
## 1 "apple" " 1" "08-03-01 0:00" "1.84" " 9.92" "-6.08" "0.00" "46.66"
## 2 "apple" " 1" "08-03-02 0:00" "2.06" "11.36" "-5.40" "0.00" "52.88"
## 3 "apple" " 1" "08-03-03 0:00" "2.80" " 8.32" "-2.58" "0.00" "62.32"
## 4 "apple" "0" "08-03-04 0:00" "0.20" " 3.72" "-2.76" "2.62" "84.14"
## 5 "apple" " 1" "08-03-05 0:00" "1.10" " 9.26" "-3.66" "0.00" "71.56"
## 6 "apple" " 1" "08-03-06 0:00" "1.10" " 9.30" "-7.00" "0.00" "65.38"
## 7 "apple" " 1" "08-03-07 0:00" "2.08" " 8.72" "-3.62" "0.00" "63.36"
## 8 "apple" " 1" "08-03-08 0:00" "1.94" "12.90" "-7.98" "0.00" "54.76"
## 9 "apple" " 1" "08-03-09 0:00" "4.54" "15.02" "-3.18" "0.00" "48.44"
## 10 "apple" " 1" "08-03-10 0:00" "4.40" "14.82" "-4.30" "0.00" "57.50"
## 11 "apple" " 1" "08-03-11 0:00" "6.26" "17.36" "-3.20" "0.00" "65.16"
## 12 "apple" " 1" "08-03-12 0:00" "7.58" "18.04" "-0.98" "0.00" "67.28"
## 13 "apple" " 1" "08-03-13 0:00" "7.18" "14.82" " 0.74" "0.58" "69.62"
## 14 "apple" "0" "08-03-14 0:00" "7.90" "14.80" " 0.44" "0.00" "69.38"
## 15 "apple" " 1" "08-03-15 0:00" "8.60" "16.76" "-0.20" "0.00" "57.06"
## 16 "apple" " 1" "08-03-16 0:00" "8.26" "15.22" " 0.48" "0.00" "45.22"
## 17 "apple" " 1" "08-03-17 0:00" "6.18" "17.84" "-4.56" "0.00" "47.38"
## 18 "apple" " 1" "08-03-18 0:00" "8.80" "18.28" "-0.36" "0.00" "60.98"
## 19 "apple" "0" "08-03-19 0:00" "8.00" "14.54" "-0.42" "0.00" "66.42"
## 20 "apple" " 1" "08-03-20 0:00" "5.10" "15.66" "-5.60" "0.00" "54.50"
csv파일에서 빈 셀이 있는데 얘를 R로 불러오면 na로 뜨는데요. 만약 NA가 없이 빈 공간으로 되어있자면
데이터이름$열이름[데이터이름$열이름 == ""] <- "NA" 라고 하면 됩니다.
반응형
'공부정리 > Q&A' 카테고리의 다른 글
Accept H0이라고 표현하지 않는 이유에 대한 질문 (1) | 2020.09.16 |
---|---|
50명씩 10개의 샘플을 조사하는 것과, 500명인 1개 샘플을 조사하는 것은 결국 똑같은거 아닌가요? (0) | 2020.09.12 |
이항분포 개념 질문에 대한 답변 (0) | 2015.05.27 |
베르누이 분포 - 평균 및 분산 증명 (0) | 2015.01.15 |
(통계증명) F분포 증명하기 (F distribution) (4) | 2015.01.06 |