我将尝试模拟测量顺序n次,并观察测量顺序对我的研究对象的影响。为此,我正在尝试在数据框中生成整数随机数到一个新列。我有一个大型数据框,我想将一个根据块内观测数而生成的随机数列添加到数据框中。
数据示例(每行是一次观测):
我希望添加一个"D"列,并根据每个块的长度生成随机整数。块在"A"列中定义。
结果应该类似于这样:
数据示例(每行是一次观测):
df <- data.frame(A=c(1,1,1,2,2,3,3,3,3),
B=c("x","b","c","g","h","g","g","u","l"),
C=c(1,2,4,1,5,7,1,2,5))
A B C
1 1 x 1
2 1 b 2
3 1 c 4
4 2 g 1
5 2 h 5
6 3 g 7
7 3 g 1
8 3 u 2
9 3 l 5
我希望添加一个"D"列,并根据每个块的长度生成随机整数。块在"A"列中定义。
结果应该类似于这样:
df <- data.frame(A=c(1,1,1,2,2,3,3,3,3),
B=c("x","b","c","g","h","g","g","u","l"),
C=c(1,2,4,1,5,7,1,2,5),
D=c(2,1,3,2,1,4,3,1,2))
> df
A B C D
1 1 x 1 2
2 1 b 2 1
3 1 c 4 3
4 2 g 1 2
5 2 h 5 1
6 3 g 7 4
7 3 g 1 3
8 3 u 2 1
9 3 l 5 2
我尝试使用R的sample()
函数生成随机数,但我的问题是根据块长度分割数据并添加新列。非常感谢任何帮助。