2

たとえば、知識構造があり、 ={{∅},{a},{b},{bc},{abd},{abcd},{abcde}}それをマトリックスとして表示したい。Rでそれを行うにはどうすればよいですか?blim()パッケージ内の関数はマトリックスpks を受け取ります。これにはマトリックス必要です。


Falmagne, J.-C., Koppen, M., Villano, M., Doignon, J.-P., & Johannesen, L. (1990). ナレッジ スペースの概要: ナレッジ スペースを構築、テスト、検索する方法。サイコロジカル レビュー、 97、201224. doi: 10.1037/0033-295X.97.2.201

4

1 に答える 1

2

そのようなマトリックスの適切な例または

知識構造を表す状態別指標マトリックス。問題が状態に含まれている場合、要素は 1 であり、そうでない場合は 0 です。

ドキュメントからのものである可能性がありblimます:

data(DoignonFalmagne7)
DoignonFalmagne7$K
      a b c d e
00000 0 0 0 0 0
10000 1 0 0 0 0
01000 0 1 0 0 0
11000 1 1 0 0 0
11100 1 1 1 0 0
11010 1 1 0 1 0
11110 1 1 1 1 0
11101 1 1 1 0 1
11111 1 1 1 1 1

知識構造が文字ベクトルとして提供され、空のセットがそれに対応すると仮定すると、""次のように処理できます。

kStruct <- c("", "a", "b", "bc", "abd", "abcd", "abcde")
ul <- strsplit(kStruct, "")
cn <- unique(unlist(ul))
K <- t(sapply(ul, function(x) cn %in% x) * 1)
dimnames(K) <- list(apply(K, 1, paste, collapse = ""), cn)
K
      a b c d e
00000 0 0 0 0 0
10000 1 0 0 0 0
01000 0 1 0 0 0
01100 0 1 1 0 0
11010 1 1 0 1 0
11110 1 1 1 1 0
11111 1 1 1 1 1

または:

cn <- unique(unlist(strsplit(kStruct, "")))
K <- sapply(cn, grepl, kStruct) * 1
rownames(K) <- apply(K, 1, paste, collapse = "")

また、ご覧のとおり、列の行の名前は には必要ないことに注意してくださいblim

于 2013-07-20T13:30:40.740 に答える