如何在 R 中使用数据框的元素创建随机游走?
How can I create a random walk with elements of a dataframe in R?
晚上好,
我有一个包含 100 行的数据框,headers 列是 ID,x-coordinate 和 y-coordinate:
ID
X
Y
1
0.1
0.1
2
0.2
0.2
等等。我现在想模拟在这 100 个点之间随机游走,但不知道如何调用连续。我想到了类似以下的东西:
dataframe[ID,]=dataframe[ID+1,]+sample(step,1)
但是这会引发错误“未使用的参数 (alist(id = ))”
有人知道如何解决这个问题吗?
非常感谢!
这将 return 行随机排列:
set.seed(123) # pick an arbitrary number to make reproducible
dfrm[ sample(100), ]
如果您只想获取 x 和 y 值而不是 ID,则为:
set.seed(567)
dfrm[ sample(100), 2:3 ]
这是结果图:
df_start <- data.frame(ID=1:100, X=runif(100), Y=runif(100))
dfrm <- df_start[ sample(100) , ]
plot( x=0:1,y=0:1, plot=FALSE) # just setting range
arrows(x0=head(dfrm$X, -1), x1=tail(dfrm$X,-1),
y0=head(dfrm$Y, -1), y1=tail(dfrm$Y,-1) )
你说你想要“在这些点之间随机游走”。另一种创建更马尔可夫随机游走的方法是使用值作为从起点开始的增量,并使值以 0 为中心,可能跨越 [-1, 1]。在 (0,0)
开始后,您将改为使用它们值的 cumsum
晚上好,
我有一个包含 100 行的数据框,headers 列是 ID,x-coordinate 和 y-coordinate:
ID | X | Y |
---|---|---|
1 | 0.1 | 0.1 |
2 | 0.2 | 0.2 |
等等。我现在想模拟在这 100 个点之间随机游走,但不知道如何调用连续。我想到了类似以下的东西:
dataframe[ID,]=dataframe[ID+1,]+sample(step,1)
但是这会引发错误“未使用的参数 (alist(id = ))”
有人知道如何解决这个问题吗?
非常感谢!
这将 return 行随机排列:
set.seed(123) # pick an arbitrary number to make reproducible
dfrm[ sample(100), ]
如果您只想获取 x 和 y 值而不是 ID,则为:
set.seed(567)
dfrm[ sample(100), 2:3 ]
这是结果图:
df_start <- data.frame(ID=1:100, X=runif(100), Y=runif(100))
dfrm <- df_start[ sample(100) , ]
plot( x=0:1,y=0:1, plot=FALSE) # just setting range
arrows(x0=head(dfrm$X, -1), x1=tail(dfrm$X,-1),
y0=head(dfrm$Y, -1), y1=tail(dfrm$Y,-1) )
你说你想要“在这些点之间随机游走”。另一种创建更马尔可夫随机游走的方法是使用值作为从起点开始的增量,并使值以 0 为中心,可能跨越 [-1, 1]。在 (0,0)
开始后,您将改为使用它们值的cumsum