相关疑难解决方法(0)

根据具有特定顺序的向量对数据帧行进行排序

有没有更简单的方法来确保数据框的行按照我在下面的简短示例中实现的"目标"向量进行排序?

df <- data.frame(name = letters[1:4], value = c(rep(TRUE, 2), rep(FALSE, 2)))

df
#   name value
# 1    a  TRUE
# 2    b  TRUE
# 3    c FALSE
# 4    d FALSE

target <- c("b", "c", "a", "d")
Run Code Online (Sandbox Code Playgroud)

为了完成工作,这似乎有点太"复杂"了:

idx <- sapply(target, function(x) {
    which(df$name == x)
})
df <- df[idx,]
rownames(df) <- NULL

df 
#   name value
# 1    b  TRUE
# 2    c FALSE
# 3    a  TRUE
# 4    d FALSE
Run Code Online (Sandbox Code Playgroud)

sorting r dataframe

141
推荐指数
4
解决办法
11万
查看次数

使用R更改数据框中列的顺序

我有如下数据:

nnn <- structure(list(JulDay = c(260.0208435, 260.0416565, 260.0625, 
260.0833435, 260.1041565, 260.125), i46j8k1 = c(17.99964905, 
18.5903511, 22.93223381, 25.75687981, 25.78559113, 25.8169651
), i47j8k1 = c(18.36571884, 21.15985107, 24.80698013, 25.75730324, 
25.78366089, 25.65381622), i48j8k1 = c(18.45543289, 22.02331543, 
24.99463654, 25.5712738, 25.64232635, 25.66119385), i46j8k2 = c(17.99798965, 
18.60897827, 22.95389748, 25.75719261, 25.78653336, 25.81692505
), i47j8k2 = c(18.36762619, 21.17233467, 24.82248497, 25.75767899, 
25.7840023, 25.64115906), i48j8k2 = c(18.45938683, 22.04619026, 
24.9859066, 25.56440544, 25.63998032, 25.66089439), i46j8k3 = c(17.99430084, 
17.92090797, 19.67384911, 21.70389938, 23.67287827, 24.04380417
), i47j8k3 = c(18.36631203, 19.82550049, 21.42166328, 23.76496887, 
24.87460899, 25.41026688), i48j8k3 = …
Run Code Online (Sandbox Code Playgroud)

r

0
推荐指数
1
解决办法
1万
查看次数

标签 统计

r ×2

dataframe ×1

sorting ×1