当前位置: 首页 > 编程笔记 >

如何将R中的数据帧随机分成多个部分?

尉迟龙光
2023-03-14
本文向大家介绍如何将R中的数据帧随机分成多个部分?,包括了如何将R中的数据帧随机分成多个部分?的使用技巧和注意事项,需要的朋友参考一下

当数据帧很大时,我们可以将其随机分为多个部分。当我们要部分分析数据时,可能需要这样做。我们可以借助split函数和sample函数来随机选择值。

示例

考虑以R为底的树数据

> str(trees)
'data.frame': 31 obs. of 3 variables:
$ Girth : num 8.3 8.6 8.8 10.5 10.7 10.8 11 11 11.1 11.2 ...
$ Height: num 70 65 63 72 81 83 66 75 80 75 ...
$ Volume: num 10.3 10.3 10.2 16.4 18.8 19.7 15.6 18.2 22.6 19.9 ...

将树木数据分为三部分-

> split(trees, sample(rep(1:3,times=c(10,10,11))))
$`1`
 Girth Height Volume
 2  8.6 65 10.3
 3  8.8 63 10.2
10 11.2 75 19.9
12 11.4 76 21.0
13 11.4 76 21.4
16 12.9 74 22.2
21 14.0 78 34.5
22 14.2 80 31.7
25 16.3 77 42.6
26 17.3 81 55.4
$`2`
Girth Height Volume
 5 10.7 81 18.8
 6 10.8 83 19.7
 8 11.0 75 18.2
11 11.3 79 24.2
14 11.7 69 21.3
17 12.9 85 33.8
20 13.8 64 24.9
28 17.9 80 58.3
29 18.0 80 51.5
30 18.0 80 51.0
$`3`
Girth Height Volume
1 8.3 70 10.3
4 10.5 72 16.4
7 11.0 66 15.6
9 11.1 80 22.6
15 12.0 75 19.1
18 13.3 86 27.4
19 13.7 71 25.7
23 14.5 74 36.3
24 16.0 72 38.3
27 17.5 82 55.7
31 20.6 87 77.0

考虑基数R中的女性数据-

> str(women)
'data.frame': 15 obs. of 2 variables:
$ height: num 58 59 60 61 62 63 64 65 66 67 ...
$ weight: num 115 117 120 123 126 129 132 135 139 142 ...

将女性数据分为两部分-

> split(women, sample(rep(1:2,times=c(10,5))))
$`1`
height weight
 2 59 117
 4 61 123
 5 62 126
 6 63 129
 7 64 132
 9 66 139
11 68 146
12 69 150
14 71 159
15 72 164
$`2`
height weight
1 58 115
3 60 120
8 65 135
10 67 142
13 70 154
 类似资料:
  • 这个问题和这个问题类似:R:两个/多个具有相同变量(列名)的数据帧的Sum列式值,并且以Date列作为引用,但是我的DF有不同的列数、列名,并且没有一个特定的引用列。 我试过合并、加入、通过...等

  • 我有两个数据帧df1和df2。df1就像一个具有以下值的字典 df2具有以下值: 我想基于df1数据帧中的,将df2拆分为3个新的数据帧。 日期,TLRA_权益栏应位于数据框 预期产出: > 数据帧 消费者,非周期性数据帧 请让我知道如何有效地做。我想做的是连接列名,例如,然后根据列名的前半部分分割数据帧。 代码: 但这很复杂。需要更好的解决方案。

  • 我有一个数据帧rT,它可以有任意数量的列和行。 我想生成一个新的数据帧,delT,具有与rT相同的列数(也具有相同的列标题),有n行,其中每列是随机和均匀的,delT每列的最小值基于rT相应列的最小值和最大值。rT的最小值和最大值不一定在每列的第一行和最后一行。 例如,使用 runif: 其中x是rT的适当列。对于delT的A列(基于rT的A栏),runif的max(x)=73.750,min(x

  • 目标:基于另一个数据帧中的“键”更改一个数据帧中的NAs列(类似于VLookUp,但仅在R中除外) 这里给定df1(为了简单起见,我只有6行。我拥有的键是50个状态的50行): 这里给出了df2(这只是一个示例。我正在处理的真实数据帧有更多的行): 任务:创建一个R函数,该函数循环并读取每个df2$Article行中的状态;然后将其与df1$State\u Name交叉引用,根据df2$Artic

  • 本文向大家介绍如何在R中将数据帧转换为data.table?,包括了如何在R中将数据帧转换为data.table?的使用技巧和注意事项,需要的朋友参考一下 由于对data.table的操作有时比数据帧快,因此我们可能希望将数据帧转换为data.table对象。数据框和data.table之间的主要区别在于,数据框可在基础R中使用,但是要使用data.table,我们必须安装软件包data.tabl