Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >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: ValueError:
File "/self/_UDACity/pythonLearning/mathTest.py", line 28, in <module>     tmp3 = math.log((1/3), 2)# ValueError: math domain error
py3study
2020/01/08
7120
【说站】python元组如何打包和解包
2、解包时,如果解包出来的元素数目与变量数目不匹配,就会引发ValueError异常。
很酷的站长
2022/11/23
8170
【说站】python元组如何打包和解包
Python - 解包的各种骚操作
https://www.cnblogs.com/poloyy/p/14658433.html
小菠萝测试笔记
2021/08/10
6600
Python抛出异常_python抛出异常的作用
在python中不同的异常可以用不同的类型(python中统一了类与类型,类型即类)去标识,不同的类对象标识不同的异常,一个异常标识一种错误
全栈程序员站长
2022/11/02
2.6K0
文件打包解包的方法
在很多情况下,软件需要隐藏一些图片,防止用户对其更改,替换。例如腾讯QQ里面的资源图片,哪怕你用Everything去搜索也搜索不到,那是因为腾讯QQ对这些资源图片进行了打包,当软件运行的时候解包获取资源图片。
DeROy
2020/05/12
2.1K1
Python有趣的解包用法
python中的解包可以这样理解:一个list是一个整体,想把list中每个元素当成一个个个体剥离出来,这个过程就是解包,我们来看下面这些例子(分为10个部分)。
Python中文社区
2018/07/26
8480
dotnet C# 应用程序进程创建太多线程将会抛出 OutOfMemoryException 异常
本文记录一个 dotnet 的特性,在应用程序快速创建大量线程的时候,将会因为线程创建时没有足够的资源而创建失败,此时将会抛出 OutOfMemoryException 异常,但实际进程占用内存不多
林德熙
2021/09/23
9900
matplotlib无法显示图片_pycharm不出图
首先你运行之后最小化pycharm,看看是不是已经出来了,只是没有自己弹到最顶层。
全栈程序员站长
2022/09/25
2.2K0
matplotlib无法显示图片_pycharm不出图
Celery ValueError: n
最近因项目需要,在使用任务队列Celery的时候,出现如题错误,最终在github上里找到解决办法,记录一下。
py3study
2020/01/20
7980
【说站】python序列解包的使用
2、字典中使用序列解包时,默认情况下是键的操作。如果需要操作键值,则需要使用items(),如果需要操作值,则使用value()。
很酷的站长
2022/11/24
4650
【说站】python序列解包的使用
ValueError: too many
数据:{'O_DATA': [{'ACCOUNT': 'A20001002', 'ZACTOSP': Decimal('21792635.96'), 'ZBUDGET': Decimal('290271.50'), 'ZACTUAL': Decimal('4878563.10')}]}
py3study
2020/01/16
6860
ValueError: too many
ValueError:invalid
使用django的异步调用场景时,并配置了如下配置:出现了错误:ValueError: Database is int between 0 and limit - 1, not :6379/0
cywhat
2023/04/27
3830
Basemap工具函数(1)
添加一个经度值到经度数组中,并且添加一列值到数据数组中。当数据覆盖全部经度时,非常有利于添加缺省值。
bugsuse
2020/04/21
2.4K0
Basemap工具函数(1)
解决织梦CMS Tag中文字太多/太长失效无法添加的问题
最近老蒋看到群里网友在使用织梦CMS程序还是比较多的,尤其是有做范文类内容网站比较多,毕竟大数据网站是不适合WP这种程序的。不过在织梦CMS程序提交文章过程中,他们如果提交的TAG字符过长,或者中文字太多的话会会无法被写入数据库,这个是什么问题呢?
老蒋
2021/12/27
9970
深入Go:错误的包装与解包
仔细想想,我们的Go代码中可能有四分之一的代码都是和错误处理相关的,而我们已经接受了,error无处不在。但似乎Go的error处理并不够强大,也缺乏统一的错误处理流程的逻辑;在经历了大量的讨论后,Go 1.13引入了错误的包装和解包,也许某种程度上可以优化我们的错误处理流程。
wenxing
2021/12/14
2K0
Python 元组解包的几种方法
要将一个tuple中的所有值作为参数,如果直接用上面两种方法就不太 pythonic了,可以用以下方法解包
Ewdager
2020/07/14
1.4K0
maven 解包依赖项中的文件
使用goal:unpack-dependencies 在配置参数includeArtifactIds中指定要解包的模块制件ID
路过君
2022/07/20
2.5K0
工具推荐|pyinterp-面向地球科学领域的插值工具
此项目的动机是为地球科学领域提供插值工具。当然也有其它库可应用于地球科学的数据插值,但是这些库基本完全是用Python编写,其性能无法满足需求。
bugsuse
2022/09/23
9800
工具推荐|pyinterp-面向地球科学领域的插值工具
Python可视化 | 三维图形迁移
在前面推送中我们提到了通过collection功能而在3D地图中添加地图的方法,也短暂提到了栅格与填色两种图形样式的降维方法。但是从matplotlib这两个函数的底层有一定的局限性,比如下面这两张图的侧面填色就无法绘出:
郭好奇同学
2021/05/28
1.9K0
Python可视化 | 三维图形迁移
自动美化你的Matplotlib ,使用Seaborn控制图表的默认值
如果您曾经在 Python 中进行过数据可视化,那么很可能您使用了 Matplotlib 库。这个库包含了许多绘图的功能。但是一些概念上简单的可视化需要大量的代码才能完成。而在这个时代,人们希望能够与图表进行交互——这是普通 Matplotlib 库无法提供的功能。更重要的是,采用默认设置的 Matplotlib 图表通常看起来很糟糕。
deephub
2020/06/04
1.7K0

相似问题

如何根据熊猫数据帧中的数据类型填写NaN值?

12

未知的帧大小

11

块大小未知的示例dask数据帧

129

如何填写熊猫丢失的GPS数据?

22

熊猫费()填写丢失的数据

26
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

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

洞察 腾讯核心技术

剖析业界实践案例

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