n05 > n07 > n01 > n05これを読み取り,画像ファイルにお示しをします表を出力したいと思います。
n05 > n05 > n05
n02 > n05
n07 > n02 > n05 > n02 > n05
n05
n03 > n05
n07 > n07 > n02
n02 > n02 > n04 > n06 > n01
n02 > n01 > n02 > n01 > n04 > n02
n06 > n02 > n02 > n06 > n01 > n02 > n06 > n01
n07 > n06 > n06
n04 > n03
n07 > n05 > n01 > n01
n02 > n04 > n04 > n02
n05 > n06 > n01 > n02
n05 > n02 > n02
n02 > n07 > n01 > n01 > n01
No.22294 Re: R 状態遷移を表形式で整理(2) 【青木繁伸】 2017/03/05(Sun) 21:24
以下のように(前のプログラム方針とちょっと違うところがあるが,まあそれはそれ)func <- function(s) {実行結果
s <- strsplit(s, " > ")
nameOfContents <- names(table(unlist(s)))
numberOfContents <- length(nameOfContents)
tbl <- matrix(0, numberOfContents, numberOfContents)
colnames(tbl) <- rownames(tbl) = nameOfContents
for (S in s) {
a <- unlist(S)
n <- length(a)
for (i in seq_len(n - 1)) {
if (a[i] != a[i + 1]) {
tbl[a[i], a[i + 1]] <- tbl[a[i], a[i + 1]] + 1
}
}
}
tbl
}
func(c("n05 > n07 > n01 > n05",
"n05 > n05 > n05",
"n02 > n05",
"n07 > n02 > n05 > n02 > n05",
"n05",
"n03 > n05",
"n07 > n07 > n02",
"n02 > n02 > n04 > n06 > n01",
"n02 > n01 > n02 > n01 > n04 > n02",
"n06 > n02 > n02 > n06 > n01 > n02 > n06 > n01",
"n07 > n06 > n06",
"n04 > n03",
"n07 > n05 > n01 > n01",
"n02 > n04 > n04 > n02",
"n05 > n06 > n01 > n02",
"n05 > n02 > n02",
"n02 > n07 > n01 > n01 > n01"))n01 n02 n03 n04 n05 n06 n07
n01 0 3 0 1 1 0 0
n02 2 0 0 2 3 2 1
n03 0 0 0 0 1 0 0
n04 0 2 1 0 0 1 0
n05 1 2 0 0 0 1 1
n06 4 1 0 0 0 0 0
n07 2 2 0 0 1 1 0
No.22295 Re: R 状態遷移を表形式で整理(2) 【明石】 2017/03/06(Mon) 09:29
青木先生,
いつもお世話になり,ありがとうございます,明石と申します。
今回も,研ぎ澄まされたプログラムをご教示いただきまして,誠にありがとうございました。
確認いたしました。
ご教示くださいました2種類のプログラム,しっかりと勉強させていただきます。
心から御礼を申し上げます。
● 「統計学関連なんでもあり」の過去ログ--- 048 の目次へジャンプ
● 「統計学関連なんでもあり」の目次へジャンプ
● 直前のページへ戻る