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

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

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

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

Q&A

1回答

918閲覧

Rの二次元配列の特定成分を変更したいです

KOKIF15

総合スコア8

R

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

0グッド

0クリップ

投稿2016/02/13 13:00

二次元配列aに値がランダムで入っていて、この配列aから10回以上登場している値を全て0にしたいのですが、どのように記述すればいいのでしょうか。ループは使わずに行いたいです。
for文を使った書き方だと、

for(time in unique(a)){
if(length(a[a==time]) >= 10 ){
a[a==time] <- 0
}
}

という風に書けると思うのですが、ループを使わずに実現する方法が調べても分かりません。いま行っている作業が非常に大きな二次元配列を大量に扱っているため、なるべくループを用いないで実現できる方法を模索しています。
Rの記述に詳しい方、よろしくお願いいたします。

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

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

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

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

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

guest

回答1

0

例解
set.seed(123)
a <- matrix(sample(12, 100, replace=TRUE), 10)
a
b <- table(a)
index <- as.numeric(names(b[b >= 10]))
a[a %in% index] <- 0
a

投稿2016/02/14 10:13

r-de-r

総合スコア12

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問