gpt4 book ai didi

r - 如何在R中随机采样但保持某些值的位置相同

转载 作者:行者123 更新时间:2023-12-03 07:57:53 25 4
gpt4 key购买 nike

我有一个系统发育中名称的物种列表,我想随机更改系统发育中某些物种名称的位置,同时将物种名称的子集保留在其原始位置。

例如:

#full species list: 
names<- c("a","b","c","d","e","f","g")

我想保留(例如)的位置:

 const_names<- c("b","c","e") 

因此,期望的结果是:

"g","b","c","f","e","d","a"

我已经尝试过这个:

i1<-which(names != const_names)

names[i1]<-names[sample(i1)]

(我尝试根据另一个问题的答案改编此内容,保持 NA 值的位置)

但是,名称变得完全随机,并且没有保留 const_names 的位置,并且名称有数千行包含 NA,在发现它没有保留所需名称的位置之前,我必须删除这些 NA。

最佳答案

ifelse(i<-names%in%const_names, names, sample(names[!i]))

[1] "g" "b" "c" "f" "e" "a" "d"

关于r - 如何在R中随机采样但保持某些值的位置相同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75588491/

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