R学习:paste/paste0函数

之前我们介绍过字符串的简单处理:

R学习 从Tidyverse学起,入门R语言(tidyr和stringr)

其中的stringr包可以花式处理字符串,而paste/paste0函数也可以轻易的实现字符串的连接。

函数用法:

paste (..., sep = " ", collapse = NULL)
paste0(..., collapse = NULL)

paste0默认sep="",这是两个函数唯一的区别

    paste0(1:12)paste(1:12) as.character(1:12)

    多个向量一一对应的连接

      paste0(1:12, c("st", "nd", "rd", rep("th", 9)))

      设置分隔符

        paste("a","b","c",sep = "+")

        collapse参数可以使元素连接后合并在一起成为一个元素

          paste0(1:12, c("st", "nd", "rd", rep("th", 9)))paste0(1:12, c("st", "nd", "rd", rep("th", 9)),collapse = "+")

          再来回顾一下stringr包

          str_c连接字符串

            library(stringr)str_c("x", "y","z") str_c("x", "y", sep =", ")

            str_length计算字符串长度

              x <- c("why", "video", "cross", "extra", "deal", "authority")str_length(x) #> [1] 3 5 5 5 4 9

              str_sub取子集

                str_sub(x, 1, 2)#> [1] "wh" "vi" "cr" "ex" "de" "au"str_sub(x, 1, 3)#> [1] "why" "vid" "cro" "ext" "dea" "aut"

                str_split函数进行拆分

                  fruits <- c( "apples and oranges and pears and bananas", "pineapples and mangos and guavas")
                  str_split(fruits, " and ")

                  默认返回的是列表

                  可以使用unlist()

                    unlist(str_split(fruits, " and "))

                    使用simplify = TRUE返回矩阵

                      str_split(fruits, " and ", simplify = TRUE)

                      使用 n= 可以限制拆分个数

                        str_split(fruits, " and ", n = 3)str_split(fruits, " and ", n = 2)

                        使用str_split_fixed也可以返回矩阵

                          str_split_fixed(fruits, " and ", 3)str_split_fixed(fruits, " and ", 4)

                          str_order(),str_sort()对字符向量排序

                            ## 返回排序后的索引> str_order(x, decreasing = FALSE, na_last = TRUE, locale = "", ...)## 返回排序后的实际值> str_sort(x, decreasing = FALSE, na_last = TRUE, locale = "", ....)# decreasing:排序方式,默认为升序# na_last:是否将缺失值置于末尾,默认为TRUE

                              str_order(letters)str_sort(letters)

                              排序法则,默认是locale = "en"

                                str_order(letters, locale = "en")str_sort(letters, locale = "en")str_order(letters, locale = "haw")str_sort(letters, locale = "haw")

                                str_replace字符串替换

                                  str_replace(string, pattern, replacement)str_replace_all(string, pattern, replacement)#string:需要处理的字符向量#pattern:指定匹配模#replacement:指定新的字符串用于替换匹配的模式#str_replace与str_replace_all的区别在于前者只替换一次匹配的对象,而后者可以替换所有匹配的对象

                                    fruits <- c("one apple", "two pears", "three bananas")str_replace(fruits, "[aeiou]", "-")str_replace_all(fruits, "[aeiou]", "-")str_replace_all(fruits, "[aeiou]", toupper)str_replace_all(fruits, "b", NA_character_)

                                      str_replace(fruits, "[aeiou]", c("1", "2", "3"))str_replace(fruits, c("a", "e", "i"), "-")

                                      下回见。

                                      (0)

                                      相关推荐