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
我遇到了這個問題。如何提取名稱中有重複的情況?名稱重複時提取姓名
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"
BTW第一我上面提出的解決方案中,仍然會選擇 所有包含a
列。