r - 如何切换数据框中的两行(随机或专门选择)?
问题描述
晚上好,
我想从数据框(“data_example”)中切换两个随机选择的行。
set.seed(16) #for reproducible random generation
data_example<- data.frame(id=1:number, x =runif(number, max = xmax), y = runif(number, max = ymax))
swap <- [sample(nrow(data_example),2),]
这样我会收到两个随机选择的行,但我在如何下注交换它们方面失败了。有人可以帮忙吗?
提前非常感谢和亲切的问候!
解决方案
尝试这个:
swap2 <- function(x) {
x <- max(x)
while (length(table(ind <- sort(sample(x, size = 2)))) < 2) 1
replace(seq_len(x), ind, rev(ind))
}
dat <- data.frame(id = seq_len(10), x = 0)
dat
# id x
# 1 1 0
# 2 2 0
# 3 3 0
# 4 4 0
# 5 5 0
# 6 6 0
# 7 7 0
# 8 8 0
# 9 9 0
# 10 10 0
set.seed(42)
dat[swap2(nrow(dat)),]
# id x
# 5 5 0 # <---
# 2 2 0
# 3 3 0
# 4 4 0
# 1 1 0 # <---
# 6 6 0
# 7 7 0
# 8 8 0
# 9 9 0
# 10 10 0
推荐阅读
- python - 试图让 Discord 机器人在命令后做出响应
- python - 上传多个文件 Django
- javascript - React 组件没有被渲染
- html - swiper js 仅在导航栏上方时有效
- optimization - 在 drake 中使用 Snopt 解决轨迹优化失败,如何解决?
- c# - 在 Angular 8 中调用 ASP.NET Web API 不起作用
- macos - Rust、OpenSSL、solana-test-validator 库未加载问题
- assembly - x86-64 内存模型重新排序
- google-cloud-platform - Google CloudRun 自动跟踪导致缺少跨度
- python - 了解 Django (Python) 和数据库