2

次の構造のデータセットを使用しています...

grades <- c("7A", "8B", "6C", "6B+")

...しかし、私のデータセットには現在観察されていないレベルがいくつかあります。しかし、ファクターを自動的に定義したくありません(したがって、データを読み取るときにread.csv(...、stringsAsFactors = FALSE)を使用しています)。レベルとそのラベルを明示的に定義し、インポートされた文字列を順序付けされた要素に変換して、すべてのグレードが、何も観察されない場合はゼロの関連カウントで表されるようにします。

real.grades  <- ordered(x = character(), 
                        levels = c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17),                       
                        labels = c("6A", "6A+", "6B", "6B+", "6C", "6C+", "7A", "7A+", "7B", "7B+", "7C", "7C+", "8A", "8A+", "8B", "8B+", "8C"))

...しかし、これを行う方法について苦労していますか?

よろしくお願いします。

4

1 に答える 1

2

私はこれがあなたが求めているものだと思います:

grades <- c("7A", "8B", "6C", "6B+")

real.grades  <- factor(grades, levels = c("6A", "6A+", "6B", "6B+", "6C", 
    "6C+", "7A", "7A+", "7B", "7B+", "7C", "7C+", "8A", "8A+", "8B", 
    "8B+", "8C"))   

降伏:

> real.grades 
[1] 7A  8B  6C  6B+
Levels: 6A 6A+ 6B 6B+ 6C 6C+ 7A 7A+ 7B 7B+ 7C 7C+ 8A 8A+ 8B 8B+ 8C

数値表現の場合は、次を使用します。

as.numeric(real.grades)
于 2012-10-11T15:21:31.300 に答える