我有一个由6个不同字母组成的变量,我需要对该变量进行排序以获得6个不同的索引,以便能够根据此定性变量对数据集进行排序。
这是变量:
data = c("H", "H", "A", "A", "B", "R", "E", "B", "E", "B", "A", "E",
"R", "R", "I", "B", "I", "I", "H", "A", "E", "I", "B", "I", "H",
"B", "R", "E", "B", "R", "H", "R", "I", "A", "B", "E", "A", "E",
"I", "H", "A", "E", "I", "H", "R", "H", "A", "R")
如果我对此排序,那么我只会获得字母顺序:
data_idx = sort(data, index.return = TRUE)
答案 0 :(得分:1)
我们可以使用$
或[[
进行提取,因为使用list
时它是index.return = TRUE
的输出
sort(data, index.return = TRUE)$ix
另一个选项是order
order(data)
如果我们需要获取索引
match(data, unique(data))
或者可能是
split(seq_along(data), data)
或与ave
ave(seq_along(data), data, FUN = seq_along)