cf) 데이터가 상당히 많은 복잡한 경우 ( 반복문 활용)
파일목록이 seoul_201512, seoul_201606.xlsx일때 이걸 한번에 합쳐서 Read해보자
files = c(”201512”,”201606” , …..)
columns =c(”상가업소번호”,”상호명”) >> 이건 내가 원하는 열들만 모아놓은거야.
ds.total = null // 이게 내가 만들 df라고 할때
for(i in length(files)){
filename = paste("seoul_",files[i],".xlsx",sep="")
ds = read_excel(filename)
ds= data.frame(ds)
ds= ds[,columns] >> 내가 원하는 열만 ds에다가 가져와주기 위해
ds.total= rbind(ds.total,ds)
- 저장하기
## 일반 data 저장하기
fruit 이라는 Data frame 이 있다고 가정하자.
나의 Work directory에
save(fruit, file ="test.dat") 라고 하면 알아서 저장된다.
## 다시 불러올때는
load("test.dat")
##엑셀 파일 저장하고 읽기
score = read.csv("score.csv")
fruit 이라는 data frame이 있다고 가정할때,
Write.csv(fruit,"fruit.csv")
## 텍스트파일 저장하고 읽기
working directory에 있어야함
#읽기
b = scan("birth.txt", what ="")
c= read.table("birth.txt", header = T)
#저장하기
mat이라는 행렬이 있다고 가정
save(mat , file ="Testmat.txt")
- 엑셀 입출력 시 유의점
#1. factor로 나왔을 경우
내가 엑셀 파일을 받아 그걸 내가 str(x) 하였을때 결과물이 아래처럼 factor가 나온다면 안됀다. 따라서
x
id 1 2 3 <int>
name Kim lee park <factor>
x = read.csv(”a.csv”,stringAsFactors= FALSE)
#2. header가 존재하지 않을 경우 ( 열의 이름이 없다면)
즉 열의 이름이 없이 이상하게 나왔다면
names(x) = c("id","name","score") 처럼 이름함수를 만들어줘라.
- nil값이 저장된 경우 (이상한값)
이상한 값이 저정되면 nil 이 아닌 na값으로 바꿔줘야한다.
x= read.csv("score.csv",na.strings=c("nil"))
- url 불러오기
예를들어 url 이름이 https:af/asdf?/asdfa//asdf/ 이런거라 치면
url =" https;/sdfasdfas/fd/"
df = read.csv(url)
- 객체 파일 입출력- 데이터를 저장하여 나중에 불러올수 있다!
x = 1:5
y= 6:10
save(x,y, file ="xy.RData)
//없애버려
x > error
load("xy.RData")
x,y > 다시 잘 생김
'R studios' 카테고리의 다른 글
R통계 : Theme #6. Tidy. (0) | 2024.05.27 |
---|---|
R통계 : Theme#5. 데이터 정제 (결측치와 이상치) 다루기 (0) | 2024.05.27 |
R통계 : Theme #4. Dplyr package (0) | 2024.05.27 |
R 통계 : Theme #3 : 데이터 조작 ( 기본 함수) (1) | 2024.05.27 |
R통계 : Theme #1. 기본적인 데이터 타입 (0) | 2024.05.27 |