お問い合わせよりご連絡いただいた、パッケージを使用せずに名前付きの数値ベクトルから名前で値を計算したtableオブジェクトの作成方法を紹介します。
なお、0を含む行は途中のコマンドで削除しています。実行コマンドが誰かのRの理解促進になればと思います。
windows 11のR version 4.4.1で確認しています。
実行コマンド
コマンドや詳細はコメントやコマンドヘルプを確認してください。
# 名前付きの数値ベクトルの作成
TestData <- c(x = 1, b = 2, a = 2,
b = 3, c = 7, x = -1)
# もしくは_01
# TestData <- c(1, 2, 2, 3, 7, -1)
# names(x) <- c("x", "b", "a", "b", "c", "x")
# もしくは_02
# structureコマンドはclassを設定できます
# TestData <- structure(c(1, 2, 2, 3, 7, -1),
# names = c("x", "b", "a", "b", "c", "x"),
# class = c("numeric", "karada"))
# 内容を確認
TestData
# x b a b c x
# 1 2 2 3 7 -1
# 試しにtableコマンド
# 要素の数が示される,欲しいのは集計結果
table(TestData)
# TestData
# -1 1 2 3 7
# 1 1 2 1 1
# 集計:aggregateコマンド;結果はdeta.frameになる
# listを使うと列名の指定が可能です
# 処理はFUNオプションで指定します
Test_01 <- aggregate(list(V1 = as.integer(TestData)),
list(V2 = names(TestData)),
FUN = sum)
# 0を含む行を確認
#Zero_Row <- apply(Test, 1, function(n) all(n !=0))
# 0を含む行を削除
Test_02 <- Test_01[Test_01[2] != 0,]
### table化:完成 #####
# xtabsコマンドを使用します
(Test_03 <- xtabs(Test_02$V1 ~ Test_02$V2,
data = Test_02))
# Test_02$V2
# a b c
# 2 5 7
# classの確認
# class(Test_03)
# [1] "xtabs" "table"
少しでも、あなたの解析が楽になりますように!!