R 按列随机化数据表,而不丢失属性或更改类型
我的目标是按列随机化datatable中的值序列,而不丢失与每列关联的属性。每一列应独立于其他列进行随机化。因此,数据集如下所示: 身份证件 高度 重量 A. 54 120 B 48 200 C 32 250R 按列随机化数据表,而不丢失属性或更改类型,r,attributes,sample,R,Attributes,Sample,我的目标是按列随机化datatable中的值序列,而不丢失与每列关联的属性。每一列应独立于其他列进行随机化。因此,数据集如下所示: 身份证件 高度 重量 A. 54 120 B 48 200 C 32 250 而不是使用apply(它转换为matrix,并且matrix只能有一个类)。使用lappy newdat <- copy(dat) newdat[] <- lapply(newdat, sample) 或者另一个快速选项是dapplyfromcollapse(它保留类型和属
而不是使用
apply
(它转换为matrix
,并且matrix只能有一个类)。使用lappy
newdat <- copy(dat)
newdat[] <- lapply(newdat, sample)
或者另一个快速选项是
dapply
fromcollapse
(它保留类型和属性)
库(折叠)
纽达太棒了。首先感谢你给出了一个有效的答案,然后是另一个更好的答案。
str(newdat)
#Classes ‘data.table’ and 'data.frame': 5 obs. of 3 variables:
# $ a: dbl+lbl [1:5] 2, 3, 4, 5, 1
# ..@ labels: Named num 1 2 3 4 5
# .. ..- attr(*, "names")= chr [1:5] "First option" "Second option" "Third option" "Fourth option" ...
# ..@ label : chr "The a variable"
# $ b: chr "five" "three" "two" "one" ...
# $ c: num 6 10 8 7 9
library(collapse)
newdat <- dapply(newdat, sample)