我似乎无法找到如何在 R Kest 函数 (spatstat) 中计算搜索距离“r”。包文档说明如下:
r 可选。应评估 K(r) 的参数 r 的值向量。建议用户不要指定该参数;有一个合理的默认值。
计算中使用的“合理默认值”是什么?任何文件将不胜感激。
我试图用我自己的数据集重新创建附加的图形.附加的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) 我有一个通过邮件服务器发送电子邮件的脚本.该脚本仅在我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) 以下是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) 我有一个包含绘图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) 我正在重新分类一个数据帧列中的值,并将这些值添加到另一列.以下脚本尝试将重分类函数应用于列,并将值输出到数据框中的另一列.
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) 我经常花费很多时间在循环中发生处理步骤.以下方法是我如何跟踪处理的位置.在脚本运行时是否有更优雅的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) 我有一个 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) 这是我在一列中的字符串; CO060020N0650W0.我需要它说2N65W.
第二个字符是'5',有时它是'7'.我想从字段计算器中删除该字符.我如何只使用python删除第二个字符?
我可以先做!PLSS![5:]然后把它砍成20N0650W0.我需要能够在不使用替换的情况下获得内部零.
我试图以十个为一组生成一个连续数字列表.例如,让我们从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)