基础数据集的旋转

时间:2017-10-30 14:20:16

标签: r

相对于X轴和Y轴的点的旋转

我有2D数据集,其中包含2列和200行,有人可以告诉我如何编写R代码以在XY平面中旋转吗?

2 个答案:

答案 0 :(得分:1)

认为您正在尝试围绕原点旋转数据。您只需乘以Rotation matrix即可完成此操作。这是一个简单的例子。

## Generate some test data
set.seed(42)
x = runif(100, -1,1)
y = rnorm(100, 0, 0.2)
XY = data.frame(x,y)

## Rotate data
RotMat = matrix(c(cos(pi/4), -sin(pi/4), sin(pi/4), cos(pi/4)), nrow=2, ncol=2)
Rotated = as.matrix(XY) %*% RotMat

## Confirm through display
par(mfrow=c(1,2))
plot(XY, pch=20, xlim=c(-1,1), ylim=c(-1,1), asp=1)
plot(Rotated, pch=20, xlim=c(-1,1), ylim=c(-1,1), asp=1)

Rotated data

答案 1 :(得分:0)

转置(例如df = data.frame(y = sample(1:10, 5), x = sample(20:30, 5)) > df y x 1 3 21 2 4 29 3 8 23 4 2 30 5 6 27 t(df) [,1] [,2] [,3] [,4] [,5] y 3 4 8 2 6 x 21 29 23 30 27 )?考虑2列和5行数据帧的最小示例:

{{1}}