[R] 문자열 관련 (paste, noquote, rownames, colnames, nchar 등)

 

 

✔︎ paste("a", "b") : 여러 문자를 한 문장으로 붙임

✔︎ paste("a", 1:5, sep="-")

   : a는 고정, 1:5 연속으로 붙이고, 중간 구분자 -까지 붙여서

✔︎ paste("a", pi, "b")

   : 문자 a + 값 + 문자 b

# paste 활용법

# 여러 문자를 한 문장으로 붙이기
hi <- paste("Hi","Jack")
> paste(hi,"what's up?",sep=", ")
[1] "Hi Jack, what's up?"

# 고정-반복구문
> paste("1",1:5,sep="-")
[1] "1-1" "1-2" "1-3" "1-4" "1-5"

# 문장+값+단어 붙이기
a <- paste("The value of 'pi' is",pi, ", endless")
> a
[1] "The value of 'pi' is 3.14159265358979 , endless"

# 따옴표 없애는 방법 두 가지
> noquote(a)
[1] The value of 'pi' is 3.14159265358979 , endless

> print(a,quote=FALSE)
[1] The value of 'pi' is 3.14159265358979 , endless

 


✔︎ rownames() : 표의 행 항목 이름 나열

✔︎ colnames() : 표의 열 이름 나열

✔︎ nchar() : 표 data의 길이

## R에 있는 데이터셋트 mtcars 활용

# 행 항목 이름
> rownames(mtcars) 
 [1] "Mazda RX4"           "Mazda RX4 Wag"       "Datsun 710"         
 [4] "Hornet 4 Drive"      "Hornet Sportabout"   "Valiant"            
 [7] "Duster 360"          "Merc 240D"           "Merc 230"           
[10] "Merc 280"            "Merc 280C"           "Merc 450SE"         
[13] "Merc 450SL"          "Merc 450SLC"         "Cadillac Fleetwood" 
[16] "Lincoln Continental" "Chrysler Imperial"   "Fiat 128"           
[19] "Honda Civic"         "Toyota Corolla"      "Toyota Corona"      
[22] "Dodge Challenger"    "AMC Javelin"         "Camaro Z28"         
[25] "Pontiac Firebird"    "Fiat X1-9"           "Porsche 914-2"      
[28] "Lotus Europa"        "Ford Pantera L"      "Ferrari Dino"       
[31] "Maserati Bora"       "Volvo 142E"  

# 열 항목 이름
> colnames(mtcars)
 [1] "mpg"  "cyl"  "disp" "hp"   "drat" "wt"   "qsec" "vs"   "am"   "gear" "carb"


cars <- rownames(mtcars)
# 행 항목 이름 글자 수 찾기
> nchar(cars)
 [1]  9 13 10 14 17  7 10  9  8  8  9 10 10 11 18 19 17  8 11 14 13 16 11 10 16  9 13 12
[29] 14 12 13 10

# 글자수가 제일 많은 행 항목의 위치 찾기
> which(nchar(cars)==max(nchar(cars)))
[1] 16

# 글자수가 제일 많은 행 항목 이름
> cars[which(nchar(cars)==max(nchar(cars)))]
[1] "Lincoln Continental"

# 대괄호[]는 그 위치에 있는 data 반환
> cars[1]
[1] "Mazda RX4"