R 기초

1 minute read

R 기초

변수의 생성

var1 <- 8
var1

var2 <- c(1,2,3,4,5,6,7,8,9,10)
var2

var3 <- 9

8*9
var1 * var3

var1 * var2
var1 / var2

var4 <- "음동하"
var4

var5 <- c("Hi","This","is","Chad")
var5

함수

var6 <- c(30:100)
var6
mean(var6)
sd(var6)

require(psych)
describe(var6)

데이터 타입

## #벡터
var7 <- c(34, 34, 5, 6, 7, 8, 32, 67, 22, 89, 98)
var7[1]
var7[3]
var7[-3]
var7[-c(1,3,6)]

## 벡터의 연산
var8 <- c(34, 34, 57, 63, 82, 22, 67, 22, 89, 98)
var8
union(var7, var8)
intersect(var7, var8)
setdiff(var7, var8)



## 리스트
x <- list(name="음동하", 나이=26)
x

## 행렬
matrix(c(1:9), nrow = 3)

## 배열
x <- array(1:12, dim = c(2,3,4))
x

## 데이터 프레임
x<- data.frame(gpa=c("a","a","b","c"), tear=c(1,1,2,2))
x

## 판별
class(x)
str(x)

is.factor(x)
is.data.frame(x)

## 데이터 구조 강제
x
x <- as.list(x)
x
class(x)

기본연산

34 * 23
33 %% 4
33 %/% 4
5^8
exp(45)
log10(678)
sin(45)

데이터 프레임 생성 및 저장 그리고 읽어오기

data <- data.frame(
  중간고사=c(100,90,90,80,70),
  기말고사=c(79,80,99,60,40)
)
data

summary(data)
plot(data)
hist(data$중간고사)

#write.csv(data, "data.csv")
#data2 <- read.csv("data.csv")

데이터 파악하기

mtcars <- mtcars
summary(mtcars)
str(mtcars)

#install.packages("psych")
require(psych)
describe(mtcars)

변수명 바꾸기

colnames(mtcars)
colnames(mtcars) <- c("연비","실린더 개수","disp","마력",
                      "draf","무게","qsec","엔진형태",
                      "자동변속기 유무","기어의 개수","crab")
colnames(mtcars)
head(mtcars)

파생변수 만들기

mtcars$'부속품 개수' <- mtcars$'실린더 개수' + mtcars$'기어의 개수'
head(mtcars)

조건에 따라 값 변경

hist(mtcars$연비)
mean(mtcars$연비)
mtcars$효율구분 <- ifelse(mtcars$연비 > 20.09, '고효율', '저효율')
mtcars

plot(mtcars$무게, mtcars$연비)

#install.packages("dplyr")
require(dplyr)

Select 필요한 변수만 추출해서 데이터셋 만들기

colnames(mtcars)

mtcars2 <- select(mtcars, 연비, 마력, 무게, '실린더 개수', 엔진형태)
head(mtcars2)

mtcars3 <- select(mtcars, -연비)
tail(mtcars2)

Filter 조건에 따라 선택

mtcars4 <- filter(mtcars, 마력 > 100)
mtcars5 <- filter(mtcars, 마력 > 100, 효율구분=='고효율')
head(mtcars4)
head(mtcars5)

Arrange 데이터값 정렬

mtcars6 <- arrange(mtcars, 연비)
mtcars6

mtcars7 <- arrange(mtcars, desc(연비))
mtcars7

Comments