質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
R

R言語は、「S言語」をオープンソースとして実装なおした、統計解析向けのプログラミング言語です。 計算がとても速くグラフィックも充実しているため、数値計算に向いています。 文法的には、統計解析部分はS言語を参考にしており、データ処理部分はSchemeの影響を受けています。 世界中の専門家が開発に関わり、日々新しい手法やアルゴリズムが追加されています。

Q&A

解決済

1回答

500閲覧

Rでのベクトル置換方法について

tadook

総合スコア13

R

R言語は、「S言語」をオープンソースとして実装なおした、統計解析向けのプログラミング言語です。 計算がとても速くグラフィックも充実しているため、数値計算に向いています。 文法的には、統計解析部分はS言語を参考にしており、データ処理部分はSchemeの影響を受けています。 世界中の専門家が開発に関わり、日々新しい手法やアルゴリズムが追加されています。

0グッド

0クリップ

投稿2019/01/24 08:41

前提・実現したいこと

初質問を失礼します、Rの初歩的な質問になります。

以下のようなベクトルaがあるとき、
a <- c(0.2,-0.4,0.5,0.9,1.4,-0.3,0.5,-2.0,…,1.2)
0未満の値を0、0以上の値を1に変換したベクトルが欲しいのですがどのような方法を取るのがよろしいしょうか。
(上の例でいえば、c(1,0,1,1,1,0,1,0,…,1)というのが欲しい)

大変簡単な質問で申し訳ありませんが、よろしくお願いいたします。

補足情報(FW/ツールのバージョンなど)

R version 3.5.1 Patched (2018-07-21 r74998)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows >= 8 x64 (build 9200)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

ifelseという関数が使えます。

> ifelse(1==1, 1, 0) [1] 1 > ifelse(1==0, 1, 0) [1] 0

ここで、Rが基本的にベクトル相手の演算をなしていることを踏まえれば、第1パラメータにベクトルを評価する論理式を置けばいいと理解できます。

a <- c(0.2,-0.4,0.5,0.9,1.4,-0.3,0.5,-2.0,…,1.2) result <- ifelse(a<0, 0, 1)

投稿2019/01/24 09:00

KojiDoi

総合スコア13671

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tadook

2019/03/12 08:45

お礼が遅くなり、申し訳ありません。 お教えいただいた方法にて、すんなり解決を致しました。 大変分かりやすい回答をありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問