通过这篇文章,可以绘制一个具有给定形状矩阵的椭圆(A):
library(car)
A <- matrix(c(20.43, -8.59,-8.59, 24.03), nrow = 2)
ellipse(c(-0.05, 0.09), shape=A, radius=1.44, col="red", lty=2, asp = 1)
Run Code Online (Sandbox Code Playgroud)
现在如何获得这个椭圆的主要/次要(主/短轴和椭圆的交叉点对)顶点?
让我们考虑二维的一组近似规则的网格。这些网格与相邻网格相邻(相邻网格具有一个或多个相同的顶点)。这是10个网格的示例,其顶点坐标(经度,纬度)如下
A<-
lon lat
[,1] [,2]
[1,] 85.30754 27.91250
[2,] 85.32862 27.95735
[3,] 85.34622 27.89880
[4,] 85.36732 27.94364
[5,] 85.34958 28.00202
[6,] 85.38831 27.98830
[7,] 85.38487 27.88508
[8,] 85.40598 27.92991
[9,] 85.42353 27.87134
[10,] 85.44466 27.91616
[11,] 85.42698 27.97456
[12,] 85.46567 27.96081
[13,] 85.48334 27.90239
[14,] 85.50437 27.94703
[15,] 85.48645 28.00502
[16,] 85.52517 27.99123
[17,] 85.52198 27.88862
[18,] 85.54302 27.93325
[19,] 85.56384 27.97745
Run Code Online (Sandbox Code Playgroud)
以上样本点集(顶点)的散点图:

网格的结构如下图所示。

我的问题是如何获得周长(红色轮廓线穿过所有边界点)?
注意:图1中的红色圆圈点(1、3、7、9、10、13、17、18、19、16、15、12、11、6、5、2)是边界点。
注意:观察到网格的侧面小于6000米,所有网格的对角线长度均大于6000米。
我正在使用R中distHaversine的geospherepackage函数来查找两点之间的距离。
我正在绘制具有以下顶点的多边形
x y
-0.02208709 -0.039161304
0.01184081 -0.020268029
0.04578401 -0.001351904
0.02210236 0.039176396
-0.01185226 0.020252146
-0.04578784 0.001352696
Run Code Online (Sandbox Code Playgroud)
使用以下代码
plot(x,y)
polygon(x,y)
points(mean(x),mean(y),col="red")
Run Code Online (Sandbox Code Playgroud)
现在我想沿着多边形的边绘制50个等间距点.有什么建议怎么办?
我想绘制一个 3D 数组M,其中
M <- array(runif(64),dim=c(4,4,4))
Run Code Online (Sandbox Code Playgroud)
这里有一个类似的问题,其中评论说这可以使用 R 中的常见 3D 绘图来完成,但我在 R 中找不到这样的函数可以用于绘制多维数组(例如,上面示例中的 3D 数组)。有什么建议如何去做吗?谢谢。
我在R写作程序.我卡在这里.
我有矢量
X=c(84.05, 108.04, 13.95, -194.05, 64.03, 208.05, 84.13, 57.04)
Run Code Online (Sandbox Code Playgroud)
我希望在替换此向量的所有元素之后得到一个向量,该元素大于180乘180,所有元素小于<-180乘-180.
就像我想要的那样
X=c(84.05, 108.04, 13.95,-180, 64.03, 180, 84.13, 57.04)
Run Code Online (Sandbox Code Playgroud)
这该怎么做??
我工作的矢量非常大.
我有一个列表(100个成员),每个成员是一个4*2矩阵.如何将此列表转换为维度400*2的数组,而不使用R中的循环?
例如
A<-list()
A[[1]]
x y
85.56384 27.97745
85.58448 28.02133
85.60252 27.96366
85.62318 28.00753
Run Code Online (Sandbox Code Playgroud)
等等,最后
A[[100]]
x y
85.58448 28.02133
85.60500 28.06502
85.62317 28.00754
85.64372 28.05122
Run Code Online (Sandbox Code Playgroud)
我想要A < -
Run Code Online (Sandbox Code Playgroud)x y 85.56384 27.97745 85.58448 28.02133 85.60252 27.96366 85.62318 28.00753 : : 85.58448 28.02133 85.60500 28.06502 85.62317 28.00754 85.64372 28.05122
谢谢你的帮助.
假设我有一个1000的长向量.
x=rnorm(1000,10,1)
Run Code Online (Sandbox Code Playgroud)
还有另一个矢量,
y<-c(1,7,10,16,29,50)
Run Code Online (Sandbox Code Playgroud)
在从矢量y指示的位置排除长度为4的块之后,我想要从"x"获得的矢量.
例如,在删除第(1-4)个组件,(7-10)组件,(16-19)组件,(29-32)和()之后,我想要一个来自"x"的向量50-53)"x"的分量.
我正在使用list:
x1=list()
for (k in 1:(length(y)-1))
{
x1[[k]]=x[-(y[k]:(y[k]+3)),]
}
x2=as.data.frame(x1)
Run Code Online (Sandbox Code Playgroud)
我正在考虑很长的向量(dim = 100k),所以上面的代码效率不高.有人可以建议任何更好的代码进行上述操作吗?
如何获取每次运行的最后一个元素的索引?
例如:让我们考虑一个向量
x=c(1,2,3,4,4,4,5,6,6,7,8,9,9,9,9)
Run Code Online (Sandbox Code Playgroud)
想要获得输出向量
x1=1 2 3 6 7 9 10 11 15
Run Code Online (Sandbox Code Playgroud)
尝试使用:
rank(x)
Run Code Online (Sandbox Code Playgroud)
它没有给出理想的结果.
我想计算一个具有k行和2 ^ k列的矩阵(S),以满足以下两个条件:
1) all of whose elements are either 1 or -1 ,
2) each column of S is a vector of dimension k and columns are distinct.
Run Code Online (Sandbox Code Playgroud)
如何使用R?谢谢.