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

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

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

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

Q&A

解決済

1回答

871閲覧

R言語で複数のオブジェクトをループで回したい

birdman

総合スコア10

R

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

0グッド

0クリップ

投稿2021/09/16 04:28

編集2021/09/16 05:04

現在、以下のコードを使用して、処理を行おうとしています。

length_1 <- c(paste0("AS",18:30)) length_2 <- c(paste0("AS",21:23)) length_3 <- c(paste0("AS",25:30)) length_list <- list(length_1,length_2,length_3) for (v in 1:length(length_list)) { a <- length_list[v] for (z in 1:length(antisense_length_list[[v]])){ antisense <- filter(md_select_df, data$library %in% a[z]) } }

私が行いたい処理としては、
ループでlength_1~3をひとつずつ指定して
その中のASXXという文字を含む行を
md_select_dfというデータフレームのdata$libraryという列から
すべて抜き出したいと考えているのですが、
list(length_1,length_2,length_3)を行うと
length_list[v]でlength_1の長さが1のデータになってしまい、
要素の個数は出せるため、変数zの数値は大丈夫になりました。
しかし、a[z]で指定すると
例えば"AS18"ではなく
"AS18" "AS19" "AS20" "AS21" "AS22" "AS23" "AS24" "AS25" "AS26" "AS27" "AS28" "AS29" "AS30"
をひとつの塊として検索してしまうようです。
そのため行を抜き出すことができません。

何か解決方法があれば教えてください。

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

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

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

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

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

KojiDoi

2021/09/16 05:52

> 変数z > a[z]で指定 これ何? エスパーじゃないのであなたが何を用意していて何を得たいのかさっぱり分かりません。
birdman

2021/09/16 06:42

わかりづらくて申し訳ないです。 変数z length_listの長さ つまり1:3を代入しています。 a[z]は、aにはlength_list1から3が順次入って zにはlength_list1から3の要素の数 つまり、length_list1を指定しているときは、1~13が入ります。 これを用いて、length_list1の時、zが1ならAS18が指定されて、 md_select_dfのデータフレームのdata$libraryの列でAS18が存在すれば その行を抜き出すような作業を行いたいと考えています。
guest

回答1

0

ベストアンサー

a <- length_list[v]

リストの要素をベクトルとして取り出そうとしていると思いますが、これだとリストのサブセットを取り出すことになります。結果がリスト。なので後でa[z]すると単一要素ではなくベクトルが返ってきます。

多分こうでしょう。

a <- length_list[[v]]

投稿2021/09/16 07:21

KojiDoi

総合スコア13692

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

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

birdman

2021/09/17 04:49

回答ありがとうございます。 指摘された部分を変更したらできました! ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問