gpt4 book ai didi

r - 如何合并和维护一个输入的行顺序?

转载 作者:行者123 更新时间:2023-12-04 15:02:01 25 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





Merge two data frames while keeping the original row order

(12 个回答)


3年前关闭。




我有一个数据框,它将瓶子编号与其体积相关联(在下面的示例中为 key)。我想编写一个函数,该函数将采用任何瓶子编号列表( samp )并返回瓶子体积列表 同时保持 samp 中的瓶号顺序 .

下面的函数正确匹配瓶号和体积,但按瓶号升序对输出进行排序。

如何维护samp的顺序与 merge ?设置 sort=FALSE导致“未指定的顺序”。

示例

samp <- c(9, 1, 4, 1)
num <- 1:10
vol <- sample(50:100, 10)
key <- data.frame(num, vol)
matchFun <- function(samp, key)
{
out <- merge(as.data.frame(samp), key, by.x="samp", by.y="num")
return(out$vol)
}

最佳答案

你可以用 match 来做到这一点和子集 key结果:

bottles <- key[match(samp, key$num),]
# rownames are odd because they must be unique, clean them up
rownames(bottles) <- seq(NROW(bottles))

关于r - 如何合并和维护一个输入的行顺序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11144551/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com