1. 程式人生 > >R語言學習(7)字符串和因子

R語言學習(7)字符串和因子

const sprint 水平 tostring 大小 pow 個數 end paste

字符串和因子

1.字符串

  創建字符串

> c("Hello","World")
[1] "Hello" "World"

  paste( ) 函數連接字符串

> c("Hello","World")
[1] "Hello" "World"
> paste(c("Hello","Hi"),"World")
[1] "Hello World" "Hi World"
> paste(c("Hello","Hi"),"World",sep="-")
[1] "Hello-World" "Hi-World"

> paste(c("Hello","Hi"),"World",collapse =",")

[1] "Hello World,Hi World"
> paste0(c("Hello","Hi"),"World") #paste0函數能去掉分隔符
[1] "HelloWorld" "HiWorld"

  tostring() 函數打印字符串

> x
[1] 1 4 9 16 25
> toString(x)
[1] "1, 4, 9, 16, 25"
> toString(x,width = 4)
[1] "1,...."
> toString(x,width = 10) #width表示限制字符長度


[1] "1, 4, ...."

2.格式化數字

  formatC函數

> pow <- 1:3
> (powers_of_e <- exp(pow))
[1] 2.718282 7.389056 20.085537
> formatC(powers_of_e)
[1] "2.718" "7.389" "20.09"
> formatC(powers_of_e,digits = 3) #指定3個數字

[1] "2.72" "7.39" "20.1"
> formatC(powers_of_e,digits = 3,width = 10) #前面加上一個空格


[1] " 2.72" " 7.39" " 20.1"
> formatC(powers_of_e,digits = 3,format = "e") #科學格式
[1] "2.718e+00" "7.389e+00" "2.009e+01"
> formatC(powers_of_e,digits = 3,flag = "+") #前面加上 +
[1] "+2.72" "+7.39" "+20.1"

  sprintf函數

> sprintf("%s %d = %f","Euler‘s constant to the power",pow,powers_of_e)
[1] "Euler‘s constant to the power 1 = 2.718282"
[2] "Euler‘s constant to the power 2 = 7.389056"
[3] "Euler‘s constant to the power 3 = 20.085537"

還有format(與formatC用法類似)和prettyNum(格式化非常大或非常小的數字)這裏兩個函數可格式化數字。

  更改大小寫

> toupper("I am the king of the world")
[1] "I AM THE KING OF THE WORLD"
> tolower("HELLO WORLD")
[1] "hello world"

3.因子 因子:用於存儲類別變量的特殊的變量類型。

  創建因子 數據框內部自動創建因子

> (heights <- data.frame(height_cm = c(153,181,150,172,165,149,174,169,198,163),gender = c("female","male","female","male","male","female","female","male","male","female")))
height_cm gender
1 153 female
2 181 male
3 150 female
4 172 male
5 165 male
6 149 female
7 174 female
8 169 male
9 198 male
10 163 female
> class(heights$gender)
[1] "factor" #是一個因子
> heights$gender
[1] female male female male male female female male male
[10] female
Levels: female male
> levels(heights$gender) #female和male被稱為因子水平
[1] "female" "male"

  factor函數創建因子

> gender_fac <- c("female","male","female","male","male")
> (gender_char <- factor(gender_fac))
[1] female male female male male
Levels: female male

R語言學習(7)字符串和因子