小编Jes*_*001的帖子

R中的基团的颜色RDA载体

我在R中绘制了一系列RDAs,每个RAs都有10个以上的环境向量.环境变量分别属于5个类别之一.我希望矢量颜色能够反映这些类别.我通过生成原始的黑白图,然后在Powerpoint中追踪它(超级耗时),以一种有点贫民窟的方式做到了,但是这有很多固有的问题,但它看起来至少是好的.这是该情节,请注意矢量颜色. 在此输入图像描述

我想让我的输出成为R原生情节.我用来制作基础图的图目前是:

#download the data#
env<- read.csv("environmenta data.csv")
bio<- read.csv("bio data.csv")

#break out the groups of environmental vectors#
#these are purley for example#
group1<-as.matrix(subset(env,select=c(a,b,c))
group2<-as.matrix(subset(env,select=c(d,e,f,h))
group3<-as.matrix(subset(env,select=c(g))
group4<-as.matrix(subset(env,select=c(j,k,l,o))
group5<-as.matrix(subset(env,select=c(m,n,))

#run the RDA#
rda1<-rda(bio,env)

#Plot it#
plot(rda1,type="n",bty="n",main="",
     xlab="XX% variance explained",
     ylab="XX% variance explained",
     col.main="black",col.lab="black", col.axis="white",
     xaxt="n",yaxt="n")
#points(rda1,display="species",col="gray",pch=20)
#option to display species points
#text(rda2,display="species",col="gray") 
#option for species labels

points(rda1,display="cn",col="black",lwd=2)#<<< guessing this is the key statement for my issue, but not sure
text(rda1,display="cn",col="black",cex=0.5)
Run Code Online (Sandbox Code Playgroud)

我假设答案落在这一点 - > col ="..."命令,但我不知道如何按组分组.任何和所有的帮助将不胜感激.

r vegan

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

如何将竞技场限制放在随机游走?

我正在构建一个有偏差的相关随机游走,我已经设法构建RW,并将其偏向西方运动.

问题:我需要将步行绑定在一个(或所有)侧面.

目前的代码是:

walk<-function(n.times){ 
   plot(524058:542800,2799758:2818500,type="n",
      xlab="Easting",ylab="Northing")#aren??a 
      y<-2815550 ##startY 
      x<-542800 #startX
      N<-4000
      E<-4000
      points(x,y,pch=16,col="red",cex=1)
      for (i in 1:n.times) {
          yi <- sample(c(N,N/2,N/4,N/8,N/12,N/16,
                      0,-N,-N/2,-N/4,-N/8,-N/12,-N/16),1)      
          xi<-sample(c(E,E/12,E/16, 0,-E,-E/2,-E/4,-E/8,-E/12,-E/16),1)       
          lines(c(x,x+xi),c(y,y+yi),col="blue")
          x<-x+xi
          y<-y+yi 
      }
   }
   iterations<-125 
   walk(iterations) 
Run Code Online (Sandbox Code Playgroud)

到目前为止,我最接近的是使用

 if(y>2818500 | y<2799758 | x>542800 | x<524058)  break 
Run Code Online (Sandbox Code Playgroud)

如果它离开竞技场,它就会停止行走.

r random-walk

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

在网络日志上绘制随机 beta 分布

我正在尝试生成一个品种拥有的变量,该变量从 Netlog 中的随机 beta 分布中提取其值。

我在网上找到了“bc”代码示例,但正在努力使其适应我的需要。现在,为了方便起见,我已经使用随机正态分布生成了我的分布

create-breed 500
 [
  set target_factor random-normal 0.9 0.05
  if target_factor > 1 [set target_factor 0.9999999999]
  if target_Factor < 0.5 [set target_factor 0.5000000001]
 ]
Run Code Online (Sandbox Code Playgroud)

所以基本上我想要一个可以用随机 beta 分布替换“随机正态 0.9 0.05”部分的记者

我到目前为止:

to-report random_beta
  set asocial_alpha 2
  set asocial_beta 2
  set asocial_min_eps 0
  set asocial_max_eps 0.25
  let x random-gamma asocial_alpha 1
  let asocial_eps (x / (x + random-gamma asocial_beta 1))
  set asocial_eps asocial_min_eps + (asocial_eps * (asocial_max_eps -   asocial_min_eps)) 
 foreach ( n-values 99 [ (? + 1) …
Run Code Online (Sandbox Code Playgroud)

random netlogo

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

如何自动查找多个类别的变异系数?

在我的数据中,我对每个空间单位有 1000 个度量,并想绘制每个单位的变异系数。我知道如何计算整个数据集的变异系数,但我将如何:

1) 创建一个函数来获取所有类别名称(列中的唯一值)。

2) 仅将 CV 函数应用于每个类别中的那些数据

3) 输出结果,以便将它们绘制为 x=category 和 y=CV

可以使用 Iris 数据集作为示例。假设我想知道每个物种的花瓣长度变异系数。简历本身很简单,但我对它的其余部分不知所措。

data(iris)
CV<-function(mean,sd){
  (sd/mean)*100
}
IrisCV<-CV(mean=mean(iris$Petal.Length), sd=sd(iris$Petal.Length))
IrisCV
Run Code Online (Sandbox Code Playgroud)

任何帮助深表感谢!

r

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

将矩阵名称指定为 R 中的绘图标题

我正在 R Studio 中生成一系列图,只有数据源在它们之间发生变化。我不想手动编辑每个标题,而是自动将绘图标题指定为数据源的名称(矩阵)。不过,我正在努力将逻辑流程概念化。过于简化的代码示例:

a<-matrix(1:10, ncol = 10,nrow=10)
b<-matrix(10:20,ncol=10,nrow=10)
plot(a) 
   mtext(side=3, "a") #I'm using mtext instead of main because the plotting function I use doesn't support 'main'
plot(b)
   mtext(side=3, "b")
Run Code Online (Sandbox Code Playgroud)

所以在这个例子中,我希望第一个情节的主标题是“a”,第二个是“b”;但是,现在的编写方式我需要手动调整mtext(side=3,"X". 我想让 mtext 语句读取矩阵名称并使用它。我承认,这有点超出我的能力范围。任何帮助表示赞赏!

由于缺少源数据,我的实际代码将无法重现,但根据评论中的要求,代码如下:

source<-n20DO1 #source data used to generate comm
comm<-bn20DO1  #actual data being used, this is the one with the title

Low<-count(source$DObin==1)[2,2]
Low<-if(is.na(Low)) {Low <- 0} else {count(source$DObin==1)[2,2]}
Mod<-count(source$DObin==2)[2,2]
Mod<-if(is.na(Mod)) {Mod <- 0} else {count(source$DObin==2)[2,2]}
High<-count(source$DObin==3)[2,2]
High<-if(is.na(High)) {High <- 0} else {count(source$DObin==3)[2,2]}
LMH <- matrix(c(Low, …
Run Code Online (Sandbox Code Playgroud)

plot r

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

如何创建偏置随机数生成器?

我需要创建一个随机数生成器,使某些值类的选择偏向于其他值.例如:

如果我告诉它返回1到5之间的值,则无偏差将为每个值分配20%的概率.但是,如果我希望2和3的概率分别为30%,其他概率则相应地加权.

我如何在R中以1-16的范围进行此操作而不将输出限制为整数?< - 由Keegan解决的问题如下.下面的代码现在使用它的修改,但最后我将运行该方法.

新问题:当我跑步时,它有两个问题:

1)它总是返回相同的路径(它应该是随机的,因此极不可能两次给出相同的路径).

2)如果你再次运行walkW(s)它会失败,说XY坐标不再存在.在将示例池更改为UBstep和Bstep之前,这不是问题,但我没有看到这是如何以及为什么会发生这种情况或如何解决它.

我以前提供过核心代码.您需要在工作目录中标记为"testmap2.png"的二进制映像以及运行它的EBImage包.

要生成错误:运行整个代码一次,然后再次运行line walkW(s)

提前致谢!

library("EBImage")

#calculating Z
P<-95 #dont worry about it
step.max<-125 #number of steps allowed to walk
stride<-131 #maximum pixel distance covered per step. 
s<-step.max

#step size pool
UBstep<-c(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20)
Bstep<-c(1,3,5,7,9,11,13,15,17,19)

#bring in a background image
pic<-readImage("testmap2.png",all=TRUE,package="EBImage")
rpic<-as.raster(pic)


#start walking
walkW <- function(n.times=125,
               xlim=c(0,615),
               ylim=c(0,615),
               start=c(520,100),
               stepsize=c(stride,stride)) {

    plot(c(0,0),type="n",xlim=xlim,ylim=ylim,
           xlab="x",
           ylab="y",
    col="black",col.lab="black")
lim <- par()
rasterImage(rpic, lim$usr[1], lim$usr[3], lim$usr[2], lim$usr[4])

    x <- start[1]
    y <- start[2]
    steps <- 1/sample(UBstep,1)
    Bsteps<-sample(Bstep,1) …
Run Code Online (Sandbox Code Playgroud)

random r

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

我如何让海龟在 netlogo 中识别其他同品种的海龟?

我正在尝试在 netlogo 中构建一个多物种模型。所有海龟都有相同的运动协议,但他们的决定是基于同种密度(它们在一个补丁中的品种数量),而不是完整的海龟数量。有没有办法让他们认出自己品种的成员,而无需在这里特别说计数品种

我想它会是这样的

 count breed(self?)-here
Run Code Online (Sandbox Code Playgroud)

但这不是 netlogo 语法。我希望他们:1) 计算当前补丁的品种数量 2) 计算半径 x 补丁的品种数量

最终目标是为所有品种制定一个单一的运动协议以供参考(而不是每个品种都有一个单独的运动协议)。

提前致谢!

netlogo

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

标签 统计

r ×5

netlogo ×2

random ×2

plot ×1

random-walk ×1

vegan ×1