小编Jan*_*nak的帖子

在椭圆协方差图上获取椭圆的顶点(由`car :: ellipse`创建)

通过这篇文章,可以绘制一个具有给定形状矩阵的椭圆(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)

现在如何获得这个椭圆的主要/次要(主/短轴和椭圆的交叉点对)顶点?

plot r ellipse covariance r-car

6
推荐指数
2
解决办法
1182
查看次数

查找点的近似规则网格的子集的周长

让我们考虑二维的一组近似规则的网格。这些网格与相邻网格相邻(相邻网格具有一个或多个相同的顶点)。这是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中distHaversinegeospherepackage函数来查找两点之间的距离。

r computational-geometry r-grid

5
推荐指数
1
解决办法
803
查看次数

从多边形的两侧绘制等距点

我正在绘制具有以下顶点的多边形

      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个等间距点.有什么建议怎么办?

r polygon spatial

3
推荐指数
1
解决办法
395
查看次数

R:如何绘制 3D 阵列

我想绘制一个 3D 数组M,其中

M <- array(runif(64),dim=c(4,4,4))
Run Code Online (Sandbox Code Playgroud)

这里有一个类似的问题,其中评论说这可以使用 R 中的常见 3D 绘图来完成,但我在 R 中找不到这样的函数可以用于绘制多维数组(例如,上面示例中的 3D 数组)。有什么建议如何去做吗?谢谢。

r

3
推荐指数
1
解决办法
4140
查看次数

将长向量中的元素剪切为+/-阈值

我在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)

这该怎么做??

我工作的矢量非常大.

algorithm r clipping

2
推荐指数
1
解决办法
81
查看次数

将相同顺序的矩阵列表转换为数组

我有一个列表(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 < -

      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
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助.

r list matrix

2
推荐指数
1
解决办法
1052
查看次数

使用R在矢量的不同位置处排除相同大小的块

假设我有一个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),所以上面的代码效率不高.有人可以建议任何更好的代码进行上述操作吗?

r

1
推荐指数
1
解决办法
42
查看次数

获取向量中每次运行的最后一个元素的索引

如何获取每次运行的最后一个元素的索引?

例如:让我们考虑一个向量

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)

它没有给出理想的结果.

r

1
推荐指数
1
解决办法
61
查看次数

生成具有元素1和-1的维k的不同向量

我想计算一个具有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?谢谢.

r

0
推荐指数
1
解决办法
87
查看次数