私はこの挑戦を経験しました。名前に繰り返しがある場合はどのように抽出するのですか?名前が繰り返しあるときの名前の抽出
X <- 1:5
names(X) <- c(letters[1:4], "a")
X
a b c d a
1 2 3 4 5
names(X)
[1] "a" "b" "c" "d" "a"
X["a"]
a
1
私はこの挑戦を経験しました。名前に繰り返しがある場合はどのように抽出するのですか?名前が繰り返しあるときの名前の抽出
X <- 1:5
names(X) <- c(letters[1:4], "a")
X
a b c d a
1 2 3 4 5
names(X)
[1] "a" "b" "c" "d" "a"
X["a"]
a
1
繰り返しがnames
であった場合に抽出するには:
X[names(X) %in% "a"]
# a a
# 1 5
なぜRは、繰り返し名を受け入れていますか?
names
は汎用アクセッサ関数です。 names
に何かを設定することができます。本当にユニークである必要はありません。
他のソリューション:
X[grepl("a", names(X))]
X[names(X) == "a"]
また、一般的に、あなたが混乱することなく、それらを参照することができますので 、ユニークな名前を持っている方が良いです。 次のコマンドを実行します。
make.unique(names(X))
[1] "a" "b" "c" "d" "a.1"
ところで、私は上記の提案された解決策の第一は、まだa
が含まれている すべての列を選ぶだろう。