대신에
paste
(기본 공백),
paste0
(누락을 강제로 포함 NA
된 문자를 문자로 ) 또는
unite
(2 개의 열과 1 개의 구분자로 제한됨),
유연 paste0
하지만 더 신중한 대안을 제안합니다 NA
.stringr::str_c
library(tidyverse)
# check the missing value!!
df <- tibble(
n = c(2, 2, 8),
s = c("aa", "aa", NA_character_),
b = c(TRUE, FALSE, TRUE)
)
df %>%
mutate(
paste = paste(n,"-",s,".",b),
paste0 = paste0(n,"-",s,".",b),
str_c = str_c(n,"-",s,".",b)
) %>%
# convert missing value to ""
mutate(
s_2=str_replace_na(s,replacement = "")
) %>%
mutate(
str_c_2 = str_c(n,"-",s_2,".",b)
)
#> # A tibble: 3 x 8
#> n s b paste paste0 str_c s_2 str_c_2
#> <dbl> <chr> <lgl> <chr> <chr> <chr> <chr> <chr>
#> 1 2 aa TRUE 2 - aa . TRUE 2-aa.TRUE 2-aa.TRUE "aa" 2-aa.TRUE
#> 2 2 aa FALSE 2 - aa . FALSE 2-aa.FALSE 2-aa.FALSE "aa" 2-aa.FALSE
#> 3 8 <NA> TRUE 8 - NA . TRUE 8-NA.TRUE <NA> "" 8-.TRUE
reprex 패키지에 의해 2020-04-10에 생성됨 (v0.3.0)에
str_c
문서의 추가 참고
대부분의 다른 R 함수와 마찬가지로 누락 된 값은 "감염성"입니다. 누락 된 값이 다른 문자열과 결합 될 때마다 결과가 항상 누락됩니다. 사용 str_replace_na()
변환에 NA
에"NA"
paste()
?를 사용하여 데이터 포인트 사이에 특수 문자를 추가하는 방법은 무엇입니까? 위의 예에서x
열에는2-aa
,3-bb
및으로 데이터가 있어야합니다5-cc
.