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
############  텍스트  ############
 
= c(1:6,'a')  #숫자와 문자가 있으면 문자타입의 벡터로 자동 변환된다.
v
class(v)
 
= list(1:6'a'# one comma repesents one column in the list
l
 
obj1 = 1:4
obj2 = 6:10
 
obj3 = list(obj1 , obj2)
obj3
 
 
 
#벡터 참조 ->[]
#리스트 참조 ->[][]
 
l2 = list(obj1, obj2 ,obj3)
l2                           #3번 자체가 리스트이기 떄문에 3-1 벡터와 3-2벡터로 구분된다.
 
l2[[3]][[1]]                 #리스트의 3번 인덱스가 리스트 이므로 그 리스트의 1번 인덱스 참조.
class(l2[[3]] [1] ) #리스트
class(l2[[3]][[1]]) #벡터
 
l2[[3]][[1]][2]              #리스트 - 리스트 - 벡터
 
#unlist -> 리스트를 벡터로.
 
v1 = c(1:6,'a')
l3 = list(1:6,'a');
 
unlist(l3) == v1
l3[[1]][1:6]  #벡터의 다중 인덱스 접근.
 
mean(l3[[1]][1:6]) #벡터 요소의 평균균
mean(unlist(l3)[1:6]) #문자열벡터에 대해서 mean 함수 적용 불가.
 
 
#속성값 지정 및 추출
name1 = "Donald"
= " "
name2 = "Trump"
 
= list(name1 , s , name2)
unlist(l)
 
name = c("갑""을" , "병""정")
gender = c(2,1,1,2)
 
df = data.frame(name,gender)
df
 
attr(df$name, "what the variable means"= "이름"  #태그 붙이기.
df$name
 
attr(df$gender, "what the variable means"= "성별"  #태그 붙이기.
df$gender
 
df$gender.character = attr(df$gender, "what the variable means")  #해당 속성에 저장된 값을 추출한다.
df
 
 
= list(1:46:10, list(1:46:10))
 
lapply(l[[3]], mean) #리스트를 던지면 각 벡터에 대한 평균을 구해준다.
lapply(l[[3]][[1]], mean) 
 
 
lapply(l[1:2,],mean) 
lapply(l[c(1,2,c(1,2))],mean) #리스트 안에 리스트에 대한 평균.(c는 벡터생성의 역연산으로 취급.)
 
 
#tapply(<vector> , <group condition> , func)
wl = c("the""is""a""the")
doc1freq = c(3,4,2,4)
doc2freq = rep(1,4)
 
 
#tapply를 활용한 빈도표 
tapply(doc1freq, wl, length)  #wl의 각 인덱스가 그룹이 되고 그 그룹 각각이 length의 인자가 된다.
tapply(doc2freq, wl, length)
tapply(doc1freq, wl, sum)
tapply(doc2freq, wl, sum)
 
tapply(1:10, rep(1,10), sum)
tapply(1:10 , 1:10 %% 2 == 1 , sum) #true 그룹과 false 그룹 두개에 대한 sum함수 적용.
cs


+ Recent posts