r语言提取部分数据剩下的数据怎么表示

Python017

r语言提取部分数据剩下的数据怎么表示,第1张

百度知道

r语言 sampling 分层抽样之后怎么取剩下的数据

查看全部1个回答

邢小行要回家

TA获得超过223个赞

关注

成为第5位粉丝

行号进行抽样,保存抽出样本的行号,在这些行号前加减号,取数据集的子集即可

>set.seed(1234)

>( x <- data.frame(a=sample(c(1,0),10,replace=T),b=11:20) )

a b

1 1 11

2 0 12

3 0 13

4 0 14

5 0 15

6 0 16

7 1 17

8 1 18

9 0 19

10 0 20

>( row_1 <- which(x$a==1) )

[1] 1 7 8

>( row_0 <- which(x$a==0) )

[1] 2 3 4 5 6 9 10

>( index1 <- sample(row_1,2) )

[1] 8 7

>( index0 <- sample(row_0,2) )

[1] 3 9

#抽样

>( sub1 <- x[c(index1,index0),] )

a b

8 1 18

7 1 17

3 0 13

9 0 19

#剩余

>( sub2 <- x[-c(index1,index0),] )

a b

1 1 11

2 0 12

4 0 14

5 0 15

6 0 16

10 0 20

先把A、B的列宽设置好,用格式刷把其它列也刷一下,如果你的一页可以打印47行(是其它的数,就把公式里的47改一下)

在C1里写公式:

=INDIRECT(CHAR(65+MOD(COLUMN(B1),2))&(ROW(A1)+INT(COLUMN(B1)/2)*47))

按住C1的填充柄将公式右拖复制,再按住填充柄下拖复制。

选定打印区域,打印。

函数说明:

CHAR(65+MOD(COLUMN(B1),2)) 生成字符串 "A" 或 "B"(偶数列为"A"奇数列为"B")。

(ROW(A1)+INT(COLUMN(B1)/2)*47 生成相应的行号。

INDIRECT() 生成字符串的引用。

对行号进行抽样,保存抽出样本的行号,在这些行号前加减号,取数据集的子集即可

>set.seed(1234)

>( x <- data.frame(a=sample(c(1,0),10,replace=T),b=11:20) )

a b

1 1 11

2 0 12

3 0 13

4 0 14

5 0 15

6 0 16

7 1 17

8 1 18

9 0 19

10 0 20

>( row_1 <- which(x$a==1) )

[1] 1 7 8

>( row_0 <- which(x$a==0) )

[1] 2 3 4 5 6 9 10

>( index1 <- sample(row_1,2) )

[1] 8 7

>( index0 <- sample(row_0,2) )

[1] 3 9

#抽样

>( sub1 <- x[c(index1,index0),] )

a b

8 1 18

7 1 17

3 0 13

9 0 19

#剩余

>( sub2 <- x[-c(index1,index0),] )

a b

1 1 11

2 0 12

4 0 14

5 0 15

6 0 16

10 0 20