1. ホーム
  2. r

[解決済み】paste()とpaste0()の違いについて)

2022-03-17 09:35:56

質問

Rの初心者ですが、どなたか、以下の違いを説明してください。 paste()paste0() ということです。

paste0("a", "b") === paste("a", "b", sep="")

私でも、こんな風にやってみました。

a <- c("a","b","c")
b <- c("y","w","q")
paste(a,b,sep = "_")
**output**
"a_y" "b_w" "c_q"

を使って paste0()

a <- c("a","b","c")
b <- c("y","w","q")
paste0(a,b,sep = "_")
**output**
"ay_" "bw_" "cq_"

というだけなのでしょうか。 paste() は要素間にセパレータを使用し paste0() は、要素の後にセパレータを使用していますか?

解決方法は?

説明の通り タイラー・リンカーによるこのブログで :

<ブロッククオート

paste は3つの引数を持ちます。

paste (..., sep = " ", collapse = NULL)... は、あなたが を貼り付けたいのですが、sepとcollapseはそれを実現するための人たちです。 を実行します。私が貼り合わせるのは基本的に3つです。

  • 個々の文字列の束。
  • 2つ以上の文字列が要素ごとに貼り付けられている。
  • 1つの文字列をつぶしたもの。

以下は、正しい引数ではありませんが、それぞれの例です。

paste("A", 1, "%") #個々の文字列を束ねたもの

paste(1:4, letters[1:4]) #2つ以上の文字列が要素に貼り付けられた 要素で構成されます。

paste(1:10) #1つの文字列をつぶす 以下は sep/collapseルール。

  • 個々の文字列の束 - sepが必要です。
  • 2つ以上の文字列が要素ごとに貼り付けられている。- sepが必要
  • 1つの文字列をつぶして表示する。

paste0 の略です。 paste(x, sep="") だから、私たちはより怠惰になることができます と効率的です。

paste0("a", "b") == paste("a", "b", sep="") ## [1] TRUE