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

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

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

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

Q&A

解決済

1回答

159閲覧

形質の要因毎の連続数をカウントしたい。

orgil

総合スコア10

R

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

0グッド

0クリップ

投稿2019/01/07 04:27

編集2019/01/07 04:32

データ
b<- cbind(ID=c(rep("a",6), rep("b", 6)), 形質1=c(0,0,1,0,1,1,0,1,1,0,1,1),形質2=c(1,1,1,0,0,0,1,1,1,1,0,1))

b

ID 形質1 形質2
[1,] "a" "0" "1"
[2,] "a" "0" "1"
[3,] "a" "1" "1"
[4,] "a" "0" "0"
[5,] "a" "1" "0"
[6,] "a" "1" "0"
[7,] "b" "0" "1"
[8,] "b" "1" "1"
[9,] "b" "1" "1"
[10,] "b" "0" "1"
[11,] "b" "1" "0"
[12,] "b" "1" "1"

IDと形質2毎にグループ化して形質1をカウントしたいです。
例:IDがa、形質2が1のときの形質2をカウントしたい、結果は、長さ:2、1で、値:0、1になります。
よろしくお願いいたします。

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

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

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

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

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

guest

回答1

0

自己解決

b.0.1<- NULL
b.data.frame<- as.data.frame(b)
b.id<- unique(b.data.frame$ID)
for(i in c(1:length(b.id))){

  • b.sub<- subset(b.data.frame, ID== b.id[i])
  • b.ma<- as.matrix(b.sub)
  • b.rle<- tapply(b.ma[,2], b.ma[,3], rle)
  • b.0<- cbind(ID1= as.character(b.id[i]), ID2= 0, Value= b.rle$'0'$values, Length= b.rle$'0'$lengths)
  • b.1<- cbind(ID1= as.character(b.id[i]), ID2= 1, Value= b.rle$'1'$values, Length= b.rle$'1'$lengths)
  • b.0.1<- rbind(b.0.1, b.0, b.1)
  • }

b.0.1

ID1 ID2 Value Length
4 "a" "0" "0" "1"
6 "a" "0" "1" "2"
2 "a" "1" "0" "2"
3 "a" "1" "1" "1"
11 "b" "0" "1" "1"
7 "b" "1" "0" "1"
9 "b" "1" "1" "2"
10 "b" "1" "0" "1"
12 "b" "1" "1" "1"

このような長いコードで解析できましたがこれより簡単な方法があれば教えてください。

投稿2019/01/07 04:29

orgil

総合スコア10

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問