小编Bor*_*lis的帖子

如何在 Kest (spatstat) 中计算 r?

我似乎无法找到如何在 R Kest 函数 (spatstat) 中计算搜索距离“r”。包文档说明如下:

r 可选。应评估 K(r) 的参数 r 的值向量。建议用户不要指定该参数;有一个合理的默认值。

计算中使用的“合理默认值”是什么?任何文件将不胜感激。

r spatial

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

如何使用ggplot2在一行中添加多个线条样式?

我试图用我自己的数据集重新创建附加的图形.附加的R脚本在那里是90%,但是我似乎找不到根据图形对线条进行样式化的方法.具体来说,我需要以固体开始的线条特征,以点结束并继续作为虚线.我更喜欢在R中使用ggplot2.

如何使我的图中的每条线都固定,x = 5然后以一个点结束,最后以虚线继续?

在此输入图像描述

# Sample Dataset
Samples = c(1,2,3,4,5,6,7,8,9,10)
SestYB = c(2.1,3.89,5.42,6.73,7.87,8.86,9.75,10.56,11.3,12)
CILowYB = c(1.03,2.01,2.92,3.76,4.52,5.21,5.82,6.37,6.86,7.3)
CIUpYB = c(3.17,5.77,7.91,9.7,11.21,12.51,13.68,14.74,15.74,16.7)
SestEH = c(1.3,2.29,3.06,3.68,4.19,4.63,5.03,5.38,5.7,6)
CILowEH = c(0.34,0.73,1.13,1.5,1.84,2.13,2.39,2.61,2.79,2.95)
CIUpEH = c(2.26,3.85,4.98,5.85,6.54,7.14,7.66,8.15,8.61,9.05)
data.frame(Samples,SestYB,CILowYB,CIUpYB,SestEH,CILowEH,CIUpEH)

require(ggplot2)

mydata = data.frame(Samples,SestYB,CILowYB,CIUpYB,SestEH,CILowEH,CIUpEH)

# Variables
EH = mydata$SestEH
YB = mydata$SestYB

yb_lower = mydata$CILowYB
yb_upper = mydata$CIUpYB

eh_lower = mydata$CILowEH
eh_upper = mydata$CIUpEH

# Plot data
ggplot(mydata, aes(Samples)) + 
  xlab("Samples") +
  ylab("Species") +
  geom_line(aes(y=YB), 
            colour="blue", size = 1.25) + 
  geom_line(aes(y=EH), 
            colour="red", size = 1.25) +
  geom_ribbon(aes(ymin=yb_lower, ymax=yb_upper), 
              fill …
Run Code Online (Sandbox Code Playgroud)

graphics r ggplot2

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

除非首先在交互式窗口中调用smtplib,否则Python电子邮件脚本将失败

我有一个通过邮件服务器发送电子邮件的脚本.该脚本仅在我import smtplib在交互式窗口中首先调用时才有效.否则,我收到以下错误:

ImportError:没有名为MIMEMultipart的模块

有人能帮我理解这种行为背后的根本原因吗?

import smtplib
from email.MIMEMultipart import MIMEMultipart
from email.MIMEBase import MIMEBase
from email.MIMEText import MIMEText
from email import Encoders
import os

# Fill in the necessary blanks here
gmail_user = "<your user name>"
gmail_pwd = "<your password>"

def mail(to, subject, text):
    msg = MIMEMultipart()

    msg['From'] = gmail_user
    msg['To'] = to
    msg['Subject'] = subject

    msg.attach(MIMEText(text))

    msg.attach(MIMEText(text))

    mailServer =smtplib.SMTP("smtp.gmail.com", 587)
    mailServer.ehlo()
    mailServer.starttls()
    mailServer.ehlo()
    mailServer.login(gmail_user, gmail_pwd)
    mailServer.sendmail(gmail_user, to, msg.as_string())
    mailServer.close()

mail("<recipient's email>",
     "Hello from python!",
     "This is an …
Run Code Online (Sandbox Code Playgroud)

python smtplib

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

如何以10的间隔对向量进行子集化?

以下是94 - 195的数字列表:

l = c(94:195)
Run Code Online (Sandbox Code Playgroud)

如何根据范围内的十个间隔生成一个新的向量l?这就是我所追求的:

100 110 120 130 140 150 160 170 180 190
Run Code Online (Sandbox Code Playgroud)

r vector subset

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

如何根据多个条件对行进行求和 - R?

我有一个包含绘图ID(plotID),树种代码(种类)和覆盖值(覆盖)的数据框.您可以看到其中一个图中有多个树种记录.如果每个图中有重复的"种类"行,如何对"覆盖"字段求和?

例如,以下是一些示例数据:

# Sample Data
plotID = c( "SUF200001035014", "SUF200001035014", "SUF200001035014", "SUF200001035014", "SUF200001035014", "SUF200046012040",
       "SUF200046012040", "SUF200046012040", "SUF200046012040", "SUF200046012040", "SUF200046012040", "SUF200046012040")
species = c("ABBA",  "BEPA",  "PIBA2", "PIMA",  "PIRE",  "PIBA2", "PIBA2", "PIMA",  "PIMA",  "PIRE",  "POTR5", "POTR5")
cover = c(26.893939,  5.681818,  9.469697, 16.287879,  1.893939, 16.287879,  4.166667, 10.984848, 16.666667, 11.363636, 18.181818,
          13.257576)
df_original = data.frame(plotID, species, cover)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

这是预期的输出:

# Intended Output
plotID2 = c( "SUF200001035014", "SUF200001035014", "SUF200001035014", "SUF200001035014", "SUF200001035014", "SUF200046012040",
            "SUF200046012040", "SUF200046012040", "SUF200046012040")
species2 = c("ABBA",  "BEPA",  "PIBA2", "PIMA",  "PIRE",  "PIBA2", "PIMA",  "PIRE",  "POTR5") …
Run Code Online (Sandbox Code Playgroud)

r sum summary multiple-conditions dataframe

2
推荐指数
2
解决办法
3万
查看次数

如何重新分类dataframe列?

我正在重新分类一个数据帧列中的值,并将这些值添加到另一列.以下脚本尝试将重分类函数应用于列,并将值输出到数据框中的另一列.

a = c(1,2,3,4,5,6,7)

x = data.frame(a)

# Reclassify values in x$a
reclass = function(x){
  # 1 - Spruce/Fir          = 1
  # 2 - Lodgepole Pine      = 1
  # 3 - Ponderosa Pine      = 1
  # 4 - Cottonwood/Willow   = 0
  # 5 - Aspen               = 0
  # 6 - Douglas-fir         = 1
  # 7 - Krummholz           = 1
  if(x == 1) return(1)
  if(x == 2) return(1)
  if(x == 3) return(1)
  if(x == 4) return(0)
  if(x == 5) return(0)
  if(x …
Run Code Online (Sandbox Code Playgroud)

r multiple-columns dataframe

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

是否有优雅的Pythonic方式来计算处理数据?

我经常花费很多时间在循环中发生处理步骤.以下方法是我如何跟踪处理的位置.在脚本运行时是否有更优雅的Pythonic计算处理数据的方法?


n_items = [x for x in range(0,100)]

counter = 1
for r in n_items:
    # Perform some time consuming task...
    print "%s of %s items have been processed" % (counter, len(n_items))
    counter = counter + 1
Run Code Online (Sandbox Code Playgroud)

python counter loops

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

如何下载满足特定条件的ftp url?

我有一个 ftp 链接,其中包含一些指向我有兴趣下载的文件的链接:

ftp://lidar.wustl.edu/Phelps_Rolla/

我可以使用以下内容列出所有网址:

import urllib2
import BeautifulSoup

request = urllib2.Request("ftp://lidar.wustl.edu/Phelps_Rolla/")
response = urllib2.urlopen(request)
soup = BeautifulSoup.BeautifulSoup(response)
Run Code Online (Sandbox Code Playgroud)
>>> soup
drwxrwxrwx   1 user     group           0 Nov  7  2012 .
drwxrwxrwx   1 user     group           0 Nov  7  2012 ..
drwxrwxrwx   1 user     group           0 Nov  7  2012 ESRI_Grids
drwxrwxrwx   1 user     group           0 Nov  7  2012 ESRI_Shapefiles
drwxrwxrwx   1 user     group           0 Nov  7  2012 LAS_Files
-rw-rw-rw-   1 user     group      545700 May 27  2011 LiDAR Accuracy Report_Rolla.pdf
drwxrwxrwx   1 user     group …
Run Code Online (Sandbox Code Playgroud)

python ftp download beautifulsoup web-scraping

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

从字段计算器中删除字符串中间的相同字符

这是我在一列中的字符串; CO060020N0650W0.我需要它说2N65W.

第二个字符是'5',有时它是'7'.我想从字段计算器中删除该字符.我如何只使用python删除第二个字符?

我可以先做!PLSS![5:]然后把它砍成20N0650W0.我需要能够在不使用替换的情况下获得内部零.

python arcgis

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

如何在列表中生成10个连续数字的组?

我试图以十个为一组生成一个连续数字列表.例如,让我们从109个数字的列表开始:

mylist = range(1,110,1)
Run Code Online (Sandbox Code Playgroud)

我知道我可以通过使用生成10的间隔列表range(1,110,10),其产生:

[1, 11, 21, 31, 41, 51, 61, 71, 81, 91, 101]
Run Code Online (Sandbox Code Playgroud)

如何生成十个一组的连续数字列表,如下所示?

[[1,2,3,4,5,6,7,8,9,10],[11,12,13,14,15,16,17,18,19,20], ...]
Run Code Online (Sandbox Code Playgroud)

python list

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