我有2D数据集,其中包含2列和200行,有人可以告诉我如何编写R代码以在XY平面中旋转吗?
答案 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)
答案 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}}