1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
library(tm)
library(stringr)
library(dplyr)
library(tidyr)        #데이터 정리정돈 패키지.
library(tidytext)
 
install.packages("tidyr")
install.packages("tidytext")
 
 
 
 
set.seed(0)
matrix(rnorm(10), c(2,5))
 
#시간측정
 
= 1:10000
= 10001:20000
 
startTime = proc.time()
= rep(0,10000)
 
 
for(i in 1:10000){
  
  z[i] = x[i] + y[i]  
 
}
 
proc.time() - startTime
 
= c(1,2,3)
= c(4,2,1)
 
== b       # 요소 길이만큼의 
all(a == b)  # 하나의 불린형만 나온다. 
 
exp(a)       # 자연상수 의 1승 2승 3승.
log10(a)     # 밑이 10인 로그 
 
 
= 50:59
max(x)
which.max(x)   #최대값이 나오는 인덱스를 리턴.
 
= matrix(c(10,20,10,20), nrow = 2)
colSums(x)    #모든열의 합.
 
set.seed(123)
df = data.frame(k1=c("x""x""y""y""x"),
                k2=c("f""s""f""s""f"),
                d1=rnorm(5),
                d2=rnorm(5))
 
 
 
summarise(group_by(df, k1), myMean = mean(d1))   #그룹별 d1의 평균.
summarise(group_by(df, k1 ,k2), myMean = mean(d1))   #변수 두개로 묶은그룹별 d1의 평균.
 
 
#pivoting
summarise(group_by(df, k1, k2), myMean = mean(d1))   #4행 3열
 
#spread 적용 2행 3열, k2가 열로 온다.
spread(summarise(group_by(df, k1, k2), myMean = mean(d1)) , k2, myMean)
 
 
#spread 적용 2행 2열, k1가 열로 온다.
spread(summarise(group_by(df, k1, k2), myMean = mean(d1)) , k1, myMean)
 
 
#두 데이터프레임 합성. join, merge
#bind , 일반적으로 merge  사용
 
 
#merge: 두 df의 공통 key를 사용하여 병합.  행을 연결한다고 보면 된다.
#df1에 df2에는 있는 컬럼이 없을경우 0로 채워진다.
 
df = data.frame(k = c('b''b''a''c''a''a''b' ),
                d1 = 0:6)
df
 
 
df2 = data.frame(k = c('a''b''d'), d2 = 0:2)  # k가 a 이면 d2 = 0 b이면  d2 = 1
df2
 
merge(df, df2)
merge(df, df2, all = T)
merge(df, df2, all.x = T)
merge(df, df2, all.y = T)
 
cs


+ Recent posts