• 締切済み

「R」でベクトル内のデータを合体するには?

統計解析ソフトRで下記のようなベクトルを作成したいのですが、ご存じの方、よろしくお願いします。 X>-C(1,2,3,4,5) のベクトルから 隣接するデータを合体させて X>-C(12,23,34,45) のベクトルを作成したいのですが?

みんなの回答

  • backs
  • ベストアンサー率50% (410/818)
回答No.2

かなり強引な手を使えばできますが、もっと適切な方法があるかもしれません。 > x <- 1:6 #まずはデータベクトルを作成 > x [1] 1 2 3 4 5 6 #数値データを文字データとして、隣接している数値を結合する > x <- paste(x[1:6], x[2:7], sep="") > x #ご覧のとおり、文字列のデータベクトルができあがる [1] "12" "23" "34" "45" "56" "6NA" > x <- as.double(x) #これをdouble型に変換 Warning message: 強制変換により NA が生成されました > x #元の数値データとなる [1] 12 23 34 45 56 NA > x <- x[1:5] #不要なNAを除いて、新たに代入 > x #完成 [1] 12 23 34 45 56

m-karina
質問者

お礼

ありがとうございます。 やってみようと思います。

  • backs
  • ベストアンサー率50% (410/818)
回答No.1

まず基本的なこととして、代入は <- ですよ。またC()とc()は別物です。変数Xにデータ1, 2, 3, 4, 5をベクトルとして代入したいのであれば、 > X <- c(1, 2, 3, 4, 5) とするのが正しいです。あるいは、X <- 1:5としても同じです。 > X>-C(12,23,34,45) のベクトルを作成したいのですが? > X <- seq(12, 45, 11) > X [1] 12 23 34 45 ではダメなのですか?seq(12, 45, 11)というのは、12から45まで11ずつ加算していくという意味です。12, 12+11=23, 23+11=34, 34+11=45となるわけです。 x <- c(1, 2, 2, 4, 2)などというベクトルにおいて、新たにx2 <- c(12, 22, 24, 42)とするのであれば、とりあえず私には分かりません。

m-karina
質問者

お礼

R初心者のもので、たいへん失礼しました。 私が求めているのは、後者のほうです。 いろいろありがとうございました。