首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >R:数据帧逐行随机化列

R:数据帧逐行随机化列
EN

Stack Overflow用户
提问于 2011-11-07 18:15:43
回答 4查看 1.4K关注 0票数 2

我在R中有一个我想要随机化的数据帧,保持第一列不变,但将最后两列随机化在一起,这样在这些列的同一行中出现的值在随机化后都将出现在同一行中。因此,如果我从这个开始:

代码语言:javascript
运行
AI代码解释
复制
1 a b c 
2 d e f 
3 g h i 

当随机化时,它可能看起来像:

代码语言:javascript
运行
AI代码解释
复制
1 a e f 
2 d h i 
3 g b c 

我知道这个示例运行得很好,但是它是否保持了列的等价性?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-11-07 18:26:24

代码语言:javascript
运行
AI代码解释
复制
> t <- data.frame(matrix(nrow=4,ncol=10,data=1:40))
> t
    X1 X2 X3 X4 X5 X6 X7 X8 X9 X10
    1  1  5  9 13 17 21 25 29 33  37
    2  2  6 10 14 18 22 26 30 34  38
    3  3  7 11 15 19 23 27 31 35  39
    4  4  8 12 16 20 24 28 32 36  40
> columns_to_random <- c(8,9,10)
> t[,columns_to_random] <- t[sample(1:nrow(t),size=nrow(t)), columns_to_random]
>   X1 X2 X3 X4 X5 X6 X7 X8 X9 X10
    1  1  5  9 13 17 21 25 32 36  40
    2  2  6 10 14 18 22 26 29 33  37
    3  3  7 11 15 19 23 27 30 34  38
    4  4  8 12 16 20 24 28 31 35  39
票数 3
EN

Stack Overflow用户

发布于 2011-11-07 18:20:26

一次只对一列进行采样,就可以了。例如:

代码语言:javascript
运行
AI代码解释
复制
data[,2] = sample(data[,2])
data[,3] = sample(data[,3])
...

如果你有很多列,你可以像这样扩展:

代码语言:javascript
运行
AI代码解释
复制
data[,-1] = apply(data[,-1], 2, sample)

EDIT:关于行等效性的说明,这只是:

代码语言:javascript
运行
AI代码解释
复制
data[,-1] = data[sample(nrow(data)),-1]
票数 1
EN

Stack Overflow用户

发布于 2011-11-07 18:29:09

你所说的“价值对等”是什么意思?老实说,我不明白,但这是我的猜测。正如您所说,您可以使用sample,但在您的列上单独使用它,例如通过应用:

代码语言:javascript
运行
AI代码解释
复制
 # create a reproducible example
 test <- data.frame(indx=c(1,2,3),col1=c("a","d","g"),
               col2=c("b","e","h"),col3=c("c","f","i"))

 xyz <- apply(test[,-1],MARGIN=2,sample)
 as.data.frame(xyz)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8040745

复制
相关文章
Python+Pandas逐行处理DataFrame中的某列数据(无循环)
创建一个包含10行6列随机数的DataFrame,行标签从大写字母A开始,列标签从小写字母u开始。然后从上向下遍历,如果某行u列的值比上一行u列的值大,就把该行x列的值改为上一行x列的值加1,否则保持原来的值不变。
Python小屋屋主
2023/08/29
1.1K0
Python+Pandas逐行处理DataFrame中的某列数据(无循环)
「R」数据汇总时自动生成多列
下面的代码和数据源主要来自:https://stackoverflow.com/questions/51063842/create-multiple-columns-in-summarize,以计算分位数为例。
王诗翔呀
2020/07/03
9930
【R语言】数据框按两列排序
我相信大家经常会使用Excel对数据进行排序。有时候我们会按照两个条件来对数据排序。假设我们手上有下面这套数据,9个人,第二列(score)为他们的考试成绩,第三列(code)为对应的评级。80分以上为优秀,60-80为良,60以下为差。
生信交流平台
2022/09/21
2.5K0
【R语言】数据框按两列排序
Java逐行读取数据
import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStreamReader; import java.util.HashMap; import java.util.Map; public class ClassInfoS
静谧星空TEL
2021/04/27
1.7K0
R语言实现孟德尔随机化研究
孟德尔随机化(Mendelian Randomization, MR)是近几年流行起来的用来进行因果推断的有效方法,它以遗传变异为工具变量来推导结局和暴露的因果关系,能有效避免传统流行病学研究的混杂偏
一粒沙
2020/11/16
11.4K0
R语言实现孟德尔随机化研究
详解CAN总线:标准数据帧和扩展数据帧
CAN协议可以接收和发送11位标准数据帧和29位扩展数据帧,CAN标准数据帧和扩展数据帧只是帧ID长度不同,以便可以扩展更多CAN节点。
不脱发的程序猿
2022/10/04
11.1K0
详解CAN总线:标准数据帧和扩展数据帧
R语言第二章数据处理⑥dplyr包(1)列选取目录选取列
=========================================
用户1359560
2018/12/27
1.2K0
R语言第二章数据处理①选择列
主要介绍几个基于 tidyverse 的函数: select():将一列或多列提取为数据表。 它还可用于从数据框中删除列。 select_if():根据特定条件选择列。 例如可以使用此函数选择列,如果它是数字。 辅助函数 - starts_with(),ends_with(),contains(),matches(),one_of():根据名称选择列/变量 根据列的位置选择列或者根据列的名字选择列 #选择第一列到第三列 my_data %>% select(1:3) #选择第一列和第三列 my_dat
用户1359560
2018/12/24
2.1K0
R语言列筛选的方法--select
我们知道,R语言学习,80%的时间都是在清洗数据,而选择合适的数据进行分析和处理也至关重要,如何选择合适的列进行分析,你知道几种方法?
邓飞
2022/02/09
7.9K0
R语言列筛选的方法--select
CAN通信的数据帧和远程帧「建议收藏」
(先来一波操作,再放概念) 远程帧和数据帧非常相似,不同之处在于: (1)RTR位,数据帧为0,远程帧为1; (2)远程帧由6个场组成:帧起始,仲裁场,控制场,CRC场,应答场,帧结束,比数据帧少了数据场。 (3)远程帧发送特定的CAN ID,然后对应的ID的CAN节点收到远程帧之后,自动返回一个数据帧。
全栈程序员站长
2022/07/23
7K0
CAN通信的数据帧和远程帧「建议收藏」
随机化算法
#include<stdio.h> #include<time.h> #include<stdlib.h> main() { int a[10]={1,2,3,4,5,6,7,8,9,10}; int sum=0; srand((unsigned)time(NULL)); printf("\n随机数为:"); for(int i = 0; i < 10; i++) { int b=rand()%10; printf("%d
杨鹏伟
2020/09/11
6900
Python逐行写入
# -*-coding:utf-8-*-import os# 写之前,先检验文件是否存在,存在就删掉if os.path.exists("dest.txt"): os.remove("dest.txt")# 以写的方式打开文件,如果文件不存在,就会自动创建file_write_obj = open("dest.txt", 'w')var = "adfss"file_write_obj.writelines(var)file_write_obj.write('\n')file_write_obj.clo
狼啸风云
2020/07/26
2.4K0
数据帧的学习整理
事先声明,本文档所有内容均在本人的学习和理解上整理,不具有权威性,甚至不具有准确性,本人也会在以后的学习中对不合理之处进行修改。
全栈程序员站长
2022/09/20
3.1K0
数据帧的学习整理
如何在 Pandas 中创建一个空的数据帧并向其附加行和列?
Pandas是一个用于数据操作和分析的Python库。它建立在 numpy 库之上,提供数据帧的有效实现。数据帧是一种二维数据结构。在数据帧中,数据以表格形式在行和列中对齐。它类似于电子表格或SQL表或R中的data.frame。最常用的熊猫对象是数据帧。大多数情况下,数据是从其他数据源(如csv,excel,SQL等)导入到pandas数据帧中的。在本教程中,我们将学习如何创建一个空数据帧,以及如何在 Pandas 中向其追加行和列。
很酷的站长
2023/08/11
1.6K0
如何在 Pandas 中创建一个空的数据帧并向其附加行和列?
孟德尔随机化之R2的计算
在前天的内容中,我和大家介绍了评估弱工具变量偏倚的常用指标------F统计量,具体计算如下:
生信与临床
2022/08/21
2.7K0
孟德尔随机化之R2的计算
PQ基础-数据转换4:删列、移列、添加索引列
本文通过一个例子,综合体现常用的删列、移列、添加索引列操作方法。数据样式及要求如下:
大海Power
2021/08/31
1.8K0
[视频编码] 视频编码的三种帧:I帧,B帧,P帧
在视频压缩编码中,所有的帧被分成了三个种类,I帧,B帧和P帧,其实就是Intra-Prediction帧,Bi-prediction帧和Prediction帧。顾名思义,就是帧内预测帧,双向预测帧以及(单向)预测帧。
轻舞飞扬SR
2021/02/24
2.4K0
37. R 茶话会(七:高效的处理数据框的列)
前言 这个笔记的起因是在学习DataExplorer 包的时候,发现: 这我乍一看,牛批啊。这语法还挺长见识的。 转念思考了一下🤔,其实目的也就是将数据框中的指定列转换为因子。换句话说,就是如何可以批量的对数据框的指定行或者列进行某种操作。(这里更多强调的是对原始数据框的直接操作,如果是统计计算直接找summarise 和它的小伙伴们,其他的玩意儿也各有不同,掉头左转: 34. R 数据整理(六:根据分类新增列的种种方法 1.0) 其实按照我的思路,还是惯用的循环了,对数据框的列名判断一下,如果所取的
北野茶缸子
2021/12/17
1.6K0
37. R 茶话会(七:高效的处理数据框的列)
Java逐行读取文件
通过桥接器InputStreamReader将FileInputStream文件字节输入流转为字符流
WindCoder
2020/01/21
4K0
逐行读取文件的Shell代码
linux shell 按行循环读入文件方法 #!/bin/bash printf "*\n" echo " cat file while read line" cat one.log |while read line do echo $line; done printf "*\n" echo "while read line <file" while read line do echo $line; done <one.log printf "*\n" echo "for line in
用户1503405
2021/10/29
1.6K0

相似问题

R逐行堆栈数据帧

01

逐行创建R数据帧

81

根据R中的列号逐行设置数据帧

23

在R中逐行绘制数据帧

30

最大值逐行R数据帧

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档