<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Logistic Regression in ArcGIS is this a possibility? in Spatial Statistics Questions</title>
    <link>https://community.esri.com/t5/spatial-statistics-questions/logistic-regression-in-arcgis-is-this-a/m-p/658858#M2125</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;The "clustTool" library is in fact not available for versions of R &amp;gt; 2.12 however, the "Design" library has been folded into the "rms" (Regression Modeling Strategies) library without change in function names. The clustTool library is only required for clustering models. The implementation of logistic regression uses the rms library so, if you only need the logistic implementation you should be fine. I think that I will rewrite the code and post a new version with some new bells-and-whistles. Hopefully ESRI will not have a problem with this.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 11 Mar 2013 02:46:31 GMT</pubDate>
    <dc:creator>JeffreyEvans</dc:creator>
    <dc:date>2013-03-11T02:46:31Z</dc:date>
    <item>
      <title>Logistic Regression in ArcGIS is this a possibility?</title>
      <link>https://community.esri.com/t5/spatial-statistics-questions/logistic-regression-in-arcgis-is-this-a/m-p/658854#M2121</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Is binary logistic regression in ArcGIS a possibility ? I know one can do linear regression but binary response regression is what am not sure of. Because I have this sort of data which is also mapped so am wondering what I can do with it in ArcGIS.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 09 Dec 2011 00:44:44 GMT</pubDate>
      <guid>https://community.esri.com/t5/spatial-statistics-questions/logistic-regression-in-arcgis-is-this-a/m-p/658854#M2121</guid>
      <dc:creator>AnthoniaOnyeahialam</dc:creator>
      <dc:date>2011-12-09T00:44:44Z</dc:date>
    </item>
    <item>
      <title>Re: Logistic Regression in ArcGIS is this a possibility?</title>
      <link>https://community.esri.com/t5/spatial-statistics-questions/logistic-regression-in-arcgis-is-this-a/m-p/658855#M2122</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;This is a great question that we get a lot!&amp;nbsp; At this time logistic regression is not available in ArcGIS, but we do have a sample script available that helps you run logistic regression using the R statistical package right from inside ArcMap.&amp;nbsp; You can find the sample script &lt;/SPAN&gt;&lt;A href="http://resources.arcgis.com/gallery/file/geoprocessing/details?entryID=F855D6D1-1422-2418-A0B2-643E624A8925"&gt;here&lt;/A&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 16 Dec 2011 22:50:06 GMT</pubDate>
      <guid>https://community.esri.com/t5/spatial-statistics-questions/logistic-regression-in-arcgis-is-this-a/m-p/658855#M2122</guid>
      <dc:creator>LaurenRosenshein</dc:creator>
      <dc:date>2011-12-16T22:50:06Z</dc:date>
    </item>
    <item>
      <title>Re: Logistic Regression in ArcGIS is this a possibility?</title>
      <link>https://community.esri.com/t5/spatial-statistics-questions/logistic-regression-in-arcgis-is-this-a/m-p/658856#M2123</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I was wondering if its possible to post some tutorial on how to use the Logit Regression sample script in ArcGIS 10. Is it realistic to expect Logistic regression to be made available in ArcGIS anytime soon?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thank you for all the answers you and your team provide to the numerous questions.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;George&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 08 Sep 2012 20:20:01 GMT</pubDate>
      <guid>https://community.esri.com/t5/spatial-statistics-questions/logistic-regression-in-arcgis-is-this-a/m-p/658856#M2123</guid>
      <dc:creator>GeorgeChaka</dc:creator>
      <dc:date>2012-09-08T20:20:01Z</dc:date>
    </item>
    <item>
      <title>Re: Logistic Regression in ArcGIS is this a possibility?</title>
      <link>https://community.esri.com/t5/spatial-statistics-questions/logistic-regression-in-arcgis-is-this-a/m-p/658857#M2124</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE class="jive-quote"&gt; we do have a sample script available that helps you run logistic regression using the R statistical package right from inside ArcMap.&amp;nbsp; &lt;A href="http://resources.arcgis.com/gallery/file/geoprocessing/details?entryID=F855D6D1-1422-2418-A0B2-643E624A8925"&gt;here&lt;/A&gt;.&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Two of the required packages for R are no longer on CRAN and are outdated, 'clustTool' and 'Design'.&amp;nbsp; Besides that, there have been some user issues with this script; read the comments.&amp;nbsp;&amp;nbsp;&amp;nbsp; I haven't tested with 10.0 but can confirm issues with 10.1&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Cheers&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 10 Mar 2013 13:28:31 GMT</pubDate>
      <guid>https://community.esri.com/t5/spatial-statistics-questions/logistic-regression-in-arcgis-is-this-a/m-p/658857#M2124</guid>
      <dc:creator>PaulLeonard</dc:creator>
      <dc:date>2013-03-10T13:28:31Z</dc:date>
    </item>
    <item>
      <title>Re: Logistic Regression in ArcGIS is this a possibility?</title>
      <link>https://community.esri.com/t5/spatial-statistics-questions/logistic-regression-in-arcgis-is-this-a/m-p/658858#M2125</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;The "clustTool" library is in fact not available for versions of R &amp;gt; 2.12 however, the "Design" library has been folded into the "rms" (Regression Modeling Strategies) library without change in function names. The clustTool library is only required for clustering models. The implementation of logistic regression uses the rms library so, if you only need the logistic implementation you should be fine. I think that I will rewrite the code and post a new version with some new bells-and-whistles. Hopefully ESRI will not have a problem with this.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 11 Mar 2013 02:46:31 GMT</pubDate>
      <guid>https://community.esri.com/t5/spatial-statistics-questions/logistic-regression-in-arcgis-is-this-a/m-p/658858#M2125</guid>
      <dc:creator>JeffreyEvans</dc:creator>
      <dc:date>2013-03-11T02:46:31Z</dc:date>
    </item>
    <item>
      <title>Re: Logistic Regression in ArcGIS is this a possibility?</title>
      <link>https://community.esri.com/t5/spatial-statistics-questions/logistic-regression-in-arcgis-is-this-a/m-p/658859#M2126</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;The "clustTool" library is in fact not available for versions of R &amp;gt; 2.12 however, the "Design" library has been folded into the "rms" (Regression Modeling Strategies) library without change in function names. The clustTool library is only required for clustering models. The implementation of logistic regression uses the rms library so, if you only need the logistic implementation you should be fine. I think that I will rewrite the code and post a new version with some new bells-and-whistles. Hopefully ESRI will not have a problem with this.&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi Dr. Evans-&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I tried to install your Arc-script creating an R Toolbox inside ArcMap to perform logistic regression but I am having difficulty getting it to work. I am using ArcGIS 10.1 and R version 3.0.1., but I see in the installation instructions (and in the description) that you were using ArcGIS 10 and R 2.11.1.. Do you know how I can get it to work using the newest versions of ArcGIS and R? I can see the R Toolbox in the ArcToolbox but then I get error messages when I actually try to run the logit models. Maybe I need different R packages? &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; I called ESRI today and they said that their development team is working on creating logistic regression functionality in ArcGIS but wouldn't tell me when it would be available. Any suggestions you may have are greatly appreciated! Thank you.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 10 Jun 2013 21:18:24 GMT</pubDate>
      <guid>https://community.esri.com/t5/spatial-statistics-questions/logistic-regression-in-arcgis-is-this-a/m-p/658859#M2126</guid>
      <dc:creator>AllisonWhite</dc:creator>
      <dc:date>2013-06-10T21:18:24Z</dc:date>
    </item>
    <item>
      <title>Re: Logistic Regression in ArcGIS is this a possibility?</title>
      <link>https://community.esri.com/t5/spatial-statistics-questions/logistic-regression-in-arcgis-is-this-a/m-p/658860#M2127</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;This is not my toolbox, I was just planning on updating the clustering functionality. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;In taking a quick look at the R code ESRI has built in a very specific (2.14) version dependency. Since this condition is false then it is trying to add the depreciated library "Design". You can fix this by opening the file"LogitWithR.r", located in the Scripts directory, in a text editor.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Delete these lines&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;versionBool = checkRVersion(2, 14)
if (versionBool){
&amp;nbsp;&amp;nbsp;&amp;nbsp; library(rms)
}else{
&amp;nbsp;&amp;nbsp;&amp;nbsp; require(Design)
}
&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;And replace with&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;require(rms)&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 12 Dec 2021 03:52:58 GMT</pubDate>
      <guid>https://community.esri.com/t5/spatial-statistics-questions/logistic-regression-in-arcgis-is-this-a/m-p/658860#M2127</guid>
      <dc:creator>JeffreyEvans</dc:creator>
      <dc:date>2021-12-12T03:52:58Z</dc:date>
    </item>
    <item>
      <title>Re: Logistic Regression in ArcGIS is this a possibility?</title>
      <link>https://community.esri.com/t5/spatial-statistics-questions/logistic-regression-in-arcgis-is-this-a/m-p/658861#M2128</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;This is not my toolbox, I was just planning on updating the clustering functionality. &lt;BR /&gt;&lt;BR /&gt;In taking a quick look at the R code ESRI has built in a very specific (2.14) version dependency. Since this condition is false then it is trying to add the depreciated library "Design". You can fix this by opening the file"LogitWithR.r", located in the Scripts directory, in a text editor.&lt;BR /&gt;&lt;BR /&gt;Delete these lines&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;versionBool = checkRVersion(2, 14)
if (versionBool){
&amp;nbsp;&amp;nbsp;&amp;nbsp; library(rms)
}else{
&amp;nbsp;&amp;nbsp;&amp;nbsp; require(Design)
}
&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;And replace with&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;require(rms)&lt;/PRE&gt;&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi Dr. Evans-&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I looked at LogitWithR.r in WordPad and I don't see the code that you referenced above. This is what I see: &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;#### Load Libraries ####&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;print("Loading Libraries....")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;library(maptools)&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;require(Design)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;library(sm)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;#### Get Arguments ####&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Args = commandArgs()&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;print(Args)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;inputFC = sub(".shp", "", Args[5], ignore.case = TRUE)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;outputFC = sub(".shp", "", Args[6], ignore.case = TRUE)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;dependentVar = Args[7]&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;independentVarString = Args[8]&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;usePenalty = as.integer(Args[9])&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;usePenalty = usePenalty == 1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;coefTable = sub(".dbf", "", Args[10], ignore.case = TRUE)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;diagTable = sub(".dbf", "", Args[11], ignore.case = TRUE)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;#### Get Ind Var Names ####&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;independentVars = strsplit(independentVarString, ";")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;independentVars = c(unlist(independentVars))&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;### Make Formula ####&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;form = as.formula(paste(dependentVar, paste(independentVars, collapse='+'), sep='~'))&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;print("Begin Calculations....")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;### Using Maptools ####&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;shp = readShapeSpatial(inputFC)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;### Do Logit ####&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;print("Logit....")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;fit = lrm(form, shp, x = TRUE, y = TRUE) &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;print("Adjustment....")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;### AIC Alternative Measure of Model Performance ####&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;bf = pentrace(fit, seq(.2,1,by=.05))&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;if (usePenalty) {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; pen = bf$penalty&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;} else {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; pen = 0.0&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;allPens = bf$results.all[,1]&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;allAICs = bf$results.all[,3]&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;for (i in 1:length(allPens)){ &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; penValue = allPens&lt;I&gt;&lt;/I&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (penValue == pen){&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; aic = allAICs&lt;I&gt;&lt;/I&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;if (usePenalty){&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; fit = update(fit, penalty = bf$penalty)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;### Residuals ####&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;res = residuals.lrm(fit)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;resOut = c(res)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;resSTD = (resOut - mean(resOut)) / sqrt(var(resOut))&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;### Create Output Shape File ####&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;print("Writing Output....")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;shp$Residual = resOut&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;shp$StdResid = resSTD&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;writeSpatialShape(shp, outputFC)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;### Write Coefficient DBF Table ####&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;allIndVars = c("Intercept")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;allIndVars = append(allIndVars, independentVars)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;k = length(allIndVars)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;d = matrix(0, k, 4)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;d[,1] = fit$coefficients&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;d[,2] = sqrt(diag(fit$var))&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;d[,3] = d[,1] / d[,2]&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;d[,4] = pnorm(abs(d[,3]), lower.tail = FALSE) * 2.0&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;coefList = list("Variable" = allIndVars, "Coef" = d[,1], &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "StdError" = d[,2], "Wald" = d[,3], &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "Prob" = d[,4])&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;coefFrame = data.frame(coefList)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;write.dbf(coefFrame, coefTable)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;### Write Diagnostic DBF Table ####&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;diagNames = c("Obs", "Max Deriv", "Model L.R.", "d.f.", "P", "C",&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "Dxy", "Gamma", "Tau-a", "R2", "Brier", &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "Penalty", "AIC")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;allStats = c(as.vector(fit$stats), pen, aic)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;diagValues = matrix(allStats, length(diagNames), 1)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;diagList = list("Diag_Name" = diagNames, "Diag_Value" = diagValues)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;diagFrame = data.frame(diagList)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;write.dbf(diagFrame, diagTable)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;print("Calculations Complete...")&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 12 Dec 2021 03:53:00 GMT</pubDate>
      <guid>https://community.esri.com/t5/spatial-statistics-questions/logistic-regression-in-arcgis-is-this-a/m-p/658861#M2128</guid>
      <dc:creator>AllisonWhite</dc:creator>
      <dc:date>2021-12-12T03:53:00Z</dc:date>
    </item>
    <item>
      <title>Re: Logistic Regression in ArcGIS is this a possibility?</title>
      <link>https://community.esri.com/t5/spatial-statistics-questions/logistic-regression-in-arcgis-is-this-a/m-p/658862#M2129</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;You are using an older version of the toolbox. Download the "more current" 10-10.1 compliant version here:&lt;/SPAN&gt;&lt;BR /&gt;&lt;A href="http://www.arcgis.com/home/item.html?id=a5736544d97a4544aa47d06baf910f6d"&gt;http://www.arcgis.com/home/item.html?id=a5736544d97a4544aa47d06baf910f6d&lt;/A&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 10 Jun 2013 21:50:28 GMT</pubDate>
      <guid>https://community.esri.com/t5/spatial-statistics-questions/logistic-regression-in-arcgis-is-this-a/m-p/658862#M2129</guid>
      <dc:creator>JeffreyEvans</dc:creator>
      <dc:date>2013-06-10T21:50:28Z</dc:date>
    </item>
    <item>
      <title>Re: Logistic Regression in ArcGIS is this a possibility?</title>
      <link>https://community.esri.com/t5/spatial-statistics-questions/logistic-regression-in-arcgis-is-this-a/m-p/658863#M2130</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;You are using an older version of the toolbox. Download the "more current" 10-10.1 compliant version here:&lt;BR /&gt;&lt;A href="http://www.arcgis.com/home/item.html?id=a5736544d97a4544aa47d06baf910f6d"&gt;http://www.arcgis.com/home/item.html?id=a5736544d97a4544aa47d06baf910f6d&lt;/A&gt;&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi (again) Dr. Evans-&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I installed the most recent toolbox and am seeing the following error messages when I try to run a logit: (Do you know what this is about?). Thank you very much for all of your help thus far.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Executing: LogitRegressionR "F:\Russia Shapefiles\Export_Output.shp" C:\Users\Allison\Documents\ArcGIS\Export_Output_LogitRegressio.shp 2007Tata_8 2007Tata_3;2007Tata_4;2007Tata_5 USE_PENALTY C:\Users\Allison\Documents\ArcGIS\Export_Output_LogitRegressio.dbf C:\Users\Allison\Documents\ArcGIS\Export_Output_LogitRegressio.dbf&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Start Time: Mon Jun 10 18:36:25 2013&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Running script LogitRegressionR...&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Loading required package: foreign&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Loading required package: sp&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Loading required package: grid&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Loading required package: lattice&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Checking rgeos availability: FALSE&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; Note: when rgeos is not available, polygon geometry&amp;nbsp; computations in maptools depend on gpclib,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; which has a restricted licence. It is disabled by default;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; to enable gpclib, type gpclibPermit()&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Package `sm', version 2.2-5: type help(sm) for summary information&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Loading required package: rms&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Loading required package: Hmisc&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Loading required package: survival&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Loading required package: splines&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Hmisc library by Frank E Harrell Jr&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Type library(help='Hmisc'), ?Overview, or ?Hmisc.Overview')&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;to see overall documentation.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;NOTE:Hmisc no longer redefines [.factor to drop unused levels when&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;subsetting.&amp;nbsp; To get the old behavior of Hmisc type dropUnusedLevels().&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Attaching package: 'Hmisc'&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The following object is masked from 'package:survival':&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; untangle.specials&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The following object is masked from 'package:maptools':&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; label&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The following object is masked from 'package:base':&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; format.pval, round.POSIXt, trunc.POSIXt, units&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Attaching package: 'rms'&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The following object is masked from 'package:survival':&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Surv&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Error in parse(text = x) : &amp;lt;text&amp;gt;:1:5: unexpected symbol&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;1: 2007Tata_8&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ^&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Calls: as.formula ... formula -&amp;gt; formula.character -&amp;gt; formula -&amp;gt; eval -&amp;gt; parse&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Execution halted&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Completed script LogitRegressionR...&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Failed to execute (LogitRegressionR).&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Failed at Mon Jun 10 18:36:27 2013 (Elapsed Time: 2.00 seconds)&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 10 Jun 2013 22:39:18 GMT</pubDate>
      <guid>https://community.esri.com/t5/spatial-statistics-questions/logistic-regression-in-arcgis-is-this-a/m-p/658863#M2130</guid>
      <dc:creator>AllisonWhite</dc:creator>
      <dc:date>2013-06-10T22:39:18Z</dc:date>
    </item>
    <item>
      <title>Re: Logistic Regression in ArcGIS is this a possibility?</title>
      <link>https://community.esri.com/t5/spatial-statistics-questions/logistic-regression-in-arcgis-is-this-a/m-p/658864#M2131</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I would recommend cutting out the middle-man and running this directly in R. I rewrote the R code so you can run it directly. Set arguments in the "USER ARGUMENTS" section and the rest of the code is automated. The OutShp will be written to the working directory. This will require the sp, rgdal and rms libraries. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;####################################################
# USER ARGUMENTS 
####################################################
# SET WORKING DIRECTORY
setwd("D:/TMP")

# SET VARIABLE NAMES
dependentVar = "SppDen"
independentVars = c("Var1","Var2","Var3")

usePenalty=TRUE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # USE PENALTY
InShp="MyShape"&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # IN SHAPEFILE (NO .shp NEEDED)
OutShp="LogitModel"&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # OUT SHAPEFILE (NO .shp NEEDED) 
diagTable = "Diag.csv"&amp;nbsp; # DIAGNOSTIC TABLE
coefTable = "Coef.csv"&amp;nbsp; # COEFFICENT TABLE

####################################################
# START MODEL
####################################################
require(sp)
require(rgdal)
require(rms)

# READ SHAPEFILE 
shp &amp;lt;- readOGR(getwd(), InShp)

# CHECK VARIABLE NAMES 
if ( is.na(match(dependentVar,names(shp@data))) )
&amp;nbsp; stop("Dependent Variable not present in data")&amp;nbsp; 

xNames &amp;lt;- intersect(independentVars,names(shp@data)) 
&amp;nbsp; if (length(xNames) &amp;lt; length(independentVars)) 
&amp;nbsp;&amp;nbsp;&amp;nbsp; stop("Mismatch in Independent Variable Names")

# CREATE FORMULA
form=as.formula(paste(dependentVar, paste(independentVars, collapse='+'), sep='~'))

# LOGISTIC REGRESSION WITH AIC
fit &amp;lt;- lrm(form, data=shp@data, x = TRUE, y = TRUE) 
&amp;nbsp; bf &amp;lt;- pentrace(fit, seq(.2,1,by=.05))
&amp;nbsp; if (usePenalty) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pen = bf$penalty
&amp;nbsp; } else {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pen = 0.0
&amp;nbsp; }

allPens = bf$results.all[,1]
allAICs = bf$results.all[,3]
for (i in 1:length(allPens)){ 
&amp;nbsp;&amp;nbsp;&amp;nbsp; penValue = allPens&lt;I&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; if (penValue == pen){
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; aic = allAICs&lt;I&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp; }

if (usePenalty){ fit = update(fit, penalty=bf$penalty) }

# RESIDUAL ERROR
res &amp;lt;- residuals.lrm(fit)
&amp;nbsp; resSTD &amp;lt;- (res - mean(res)) / sqrt(var(res))

# ADD RESIDUALS, STANDARDIZED RESIDUALS AND PROBABILITIES 
shp@data &amp;lt;- data.frame(shp@data,Residual=res, StdResid=resSTD, 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Probs=predict(fit,shp@data[,rownames(fit$var)[-1]],
&amp;nbsp;&amp;nbsp;&amp;nbsp; type="fitted") )&amp;nbsp; 

# WRITE SHAPEFILE&amp;nbsp;&amp;nbsp;&amp;nbsp; 
writeOGR(shp, dsn=getwd(), OutShp, driver="ESRI Shapefile", 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; check_exists=TRUE, overwrite_layer=TRUE)
&amp;nbsp;&amp;nbsp; 
# WRITE COEFFICENT AND DIAGNOSTIC TABLES 
allIndVars = c("Intercept")
allIndVars = append(allIndVars, independentVars)
k = length(allIndVars)
&amp;nbsp; d = matrix(0, k, 4)
&amp;nbsp;&amp;nbsp;&amp;nbsp; d[,1] = fit$coefficients
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; d[,2] = sqrt(diag(fit$var))
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; d[,3] = d[,1] / d[,2]
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; d[,4] = pnorm(abs(d[,3]), lower.tail = FALSE) * 2.0
coefList = list("Variable"=allIndVars, "Coef"=d[,1], 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "StdError"=d[,2], "Wald"=d[,3], "Prob"=d[,4])
coefFrame = data.frame(coefList)
&amp;nbsp; write.csv(coefFrame, coefTable, row.names=FALSE)&amp;nbsp; 

daigFrame &amp;lt;- data.frame(Names=c(names(fit$stats),"PEN","AIC"),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Value=c(as.vector(fit$stats), pen, aic))
&amp;nbsp; write.csv(daigFrame, diagTable, row.names=FALSE)
&amp;nbsp; &lt;/I&gt;&lt;/I&gt;&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 12 Dec 2021 03:53:03 GMT</pubDate>
      <guid>https://community.esri.com/t5/spatial-statistics-questions/logistic-regression-in-arcgis-is-this-a/m-p/658864#M2131</guid>
      <dc:creator>JeffreyEvans</dc:creator>
      <dc:date>2021-12-12T03:53:03Z</dc:date>
    </item>
    <item>
      <title>Re: Logistic Regression in ArcGIS is this a possibility?</title>
      <link>https://community.esri.com/t5/spatial-statistics-questions/logistic-regression-in-arcgis-is-this-a/m-p/658865#M2132</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;A href="https://github.com/Esri/R-toolbox-py"&gt;https://github.com/Esri/R-toolbox-py&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Try this updated tool box it works ( not fully) for me&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Paola&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 06 Sep 2013 10:24:31 GMT</pubDate>
      <guid>https://community.esri.com/t5/spatial-statistics-questions/logistic-regression-in-arcgis-is-this-a/m-p/658865#M2132</guid>
      <dc:creator>paolapasino</dc:creator>
      <dc:date>2013-09-06T10:24:31Z</dc:date>
    </item>
    <item>
      <title>Re: Logistic Regression in ArcGIS is this a possibility?</title>
      <link>https://community.esri.com/t5/spatial-statistics-questions/logistic-regression-in-arcgis-is-this-a/m-p/658866#M2133</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Here is logistic regression R code that will work with the current toolbox (all the dependencies are correct). Copy the code into a text editor then save and replace "LogitWithR.r" in the "Scripts" directory of the toolbox.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;##############################################################################
# PROGRAM: LogitRegression (logistic regression called form ArcGIS)
# USE: LOGISTIC (BIONOMIAL) REGRESSION
# REQUIRES: R &amp;gt; 2.15.0, rms
#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
# ARGUMENTS: 
#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ldata&amp;nbsp;&amp;nbsp;&amp;nbsp; DATAFRAME OBJECT CONTANING VARIABLES 
#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; y&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RESPONSE VARIABLE IN ldata&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; x&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; INDEPENDENT VARIABLES(S) IN ldata
#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; penelty&amp;nbsp; APPLY REGRESSION PENELTY (TRUE/FALSE)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ADDITIONAL ARGUMENTS PASSED TO lrm&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
# 
# VALUE:&amp;nbsp; 
#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A LIST OBJECT CONTANING OBJECTS:
#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; model&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lrm MODEL OBJECT 
#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; diagTable&amp;nbsp;&amp;nbsp;&amp;nbsp; DATAFRAME OF REGRESSION DIAGNOSTICS
#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; coefTable&amp;nbsp;&amp;nbsp;&amp;nbsp; DATAFRAME OF REGRESSION COEFFICENTS
#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Residuals&amp;nbsp;&amp;nbsp;&amp;nbsp; DATAFRAME OF RESIDUALS AND STANDARDIZED RESIDUALS
#
# REFERENCES:
#&amp;nbsp;&amp;nbsp;&amp;nbsp; Le Cessie S, Van Houwelingen JC: Ridge estimators in logistic regression. 
#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Applied Statistics 41:191�??201, 1992.
#
#&amp;nbsp;&amp;nbsp;&amp;nbsp; Shao J: Linear model selection by cross-validation. JASA 88:486�??494, 1993.
#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
# EXAMPLES: 
#&amp;nbsp;&amp;nbsp;&amp;nbsp; require(sp)
#&amp;nbsp;&amp;nbsp;&amp;nbsp; require(rms)
#&amp;nbsp;&amp;nbsp;&amp;nbsp; 
#&amp;nbsp;&amp;nbsp;&amp;nbsp; data(meuse)
#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; coordinates(meuse) &amp;lt;- ~x+y&amp;nbsp;&amp;nbsp; 
#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; meuse@data &amp;lt;- data.frame(DepVar=rbinom(dim(meuse)[1], 1, 0.5), meuse@data)
#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; names(meuse@data)
#&amp;nbsp;&amp;nbsp;&amp;nbsp; 
#&amp;nbsp;&amp;nbsp;&amp;nbsp; # RUN Bernoulli Trials TEST
#&amp;nbsp;&amp;nbsp;&amp;nbsp; binom.test( c(length(meuse[meuse@data$DepVar == 1 ,]$DepVar),
#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; length(meuse[meuse@data$DepVar == 0 ,]$DepVar)), 0.65)
#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
#&amp;nbsp;&amp;nbsp;&amp;nbsp; # RUN LOGISTIC MODEL
#&amp;nbsp;&amp;nbsp;&amp;nbsp; lmodel &amp;lt;- LogitRegression(meuse@data, y="DepVar", x=c("dist","cadmium","copper")) 
#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lmodel$model
#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lmodel$diagTable
#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lmodel$coefTable
#&amp;nbsp;&amp;nbsp;&amp;nbsp; 
#&amp;nbsp;&amp;nbsp;&amp;nbsp; # ADD RESIDUALS, STANDARDIZED RESIDUALS AND PROBABILITIES 
#&amp;nbsp;&amp;nbsp;&amp;nbsp; meuse@data &amp;lt;- data.frame(meuse@data, Residual=lmodel$Residuals[,1], 
#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; StdResid=lmodel$Residuals[,2], 
#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Probs=predict(lmodel$model,meuse@data[,rownames(lmodel$model$var)[-1]],
#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; type="fitted") )&amp;nbsp; 
#&amp;nbsp;&amp;nbsp;&amp;nbsp; 
#&amp;nbsp;&amp;nbsp;&amp;nbsp; # PLOT PROBABILITIES&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
#&amp;nbsp;&amp;nbsp;&amp;nbsp; library(lattice)
#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; trellis.par.set(sp.theme())
#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; spplot(meuse, c("Probs"))&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
# CONTACT: 
#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Jeffrey S. Evans
#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Senior Landscape Ecologist 
#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; The Nature Conservancy - Central Science
#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Adjunct Assistant Professor
#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Zoology and Physiology
#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; University of Wyoming
#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Laramie, WY
#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (970)672-6766
#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; jeffrey_evans@tnc.org
######################################################################################&amp;nbsp;&amp;nbsp; 
LogitRegression &amp;lt;- function (ldata, y, x, penalty=TRUE, ...) {
&amp;nbsp; if (!require (rms)) stop("sp PACKAGE MISSING")
&amp;nbsp;&amp;nbsp; if ( is.na(match(y,names(ldata))) )
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; stop("Dependent Variable not present in data")&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; xNames &amp;lt;- intersect(x,names(ldata)) 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (length(xNames) &amp;lt; length(x)) 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; stop("Mismatch in Independent Variable Names")
&amp;nbsp;&amp;nbsp;&amp;nbsp; form=as.formula(paste(y, paste(x, collapse='+'), sep='~'))
&amp;nbsp;&amp;nbsp; fit &amp;lt;- lrm(form, data=ldata, x=TRUE, y=TRUE, ...) 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bf &amp;lt;- pentrace(fit, seq(0.2,1,by=0.05))
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (penalty) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pen = bf$penalty
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } else {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pen = 0.0
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; allPens=bf$results.all[,1]
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; allAICs=bf$results.all[,3]
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (i in 1:length(allPens)){ 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; penValue=allPens&lt;I&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (penValue == pen){
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; aic = allAICs&lt;I&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp; if (penalty){ fit = update(fit, penalty=bf$penalty) }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; res &amp;lt;- residuals.lrm(fit)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; resSTD &amp;lt;- (res - mean(res)) / sqrt(var(res))
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; allIndVars &amp;lt;- c("Intercept")
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; allIndVars &amp;lt;- append(allIndVars, x)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; k &amp;lt;- length(allIndVars)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; d &amp;lt;- matrix(0, k, 4)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; d[,1] &amp;lt;- fit$coefficients
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; d[,2] &amp;lt;- sqrt(diag(fit$var))
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; d[,3] &amp;lt;- d[,1] / d[,2]
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; d[,4] &amp;lt;- pnorm(abs(d[,3]), lower.tail = FALSE) * 2.0
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; coefList=list("Variable"=allIndVars, "Coef"=d[,1], 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "StdError"=d[,2], "Wald"=d[,3], "Prob"=d[,4])
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; coefFrame=data.frame(coefList) 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; diagFrame=data.frame(Names=c(names(fit$stats),"PEN","AIC"),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Value=c(as.vector(fit$stats), pen, aic))
&amp;nbsp;&amp;nbsp;&amp;nbsp; return(list(model=fit, diagTable=diagFrame, coefTable=coefFrame, 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Residuals=data.frame(res=res,resSTD=resSTD))) 
&amp;nbsp; }

### Version check
Rv &amp;lt;- paste(round(as.numeric(R.version$major),digits=0),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; as.numeric(R.version$minor),sep=".")
&amp;nbsp;&amp;nbsp;&amp;nbsp; if (Rv &amp;lt; 2.14) stop("NEED TO UPGRADE VERSION OF R TO &amp;gt;= 2.14")&amp;nbsp;&amp;nbsp; 
&amp;nbsp; 
#### Load required packages
print("Loading Libraries....")
&amp;nbsp; if (!require(rms)) stop("rms PACKAGE MISSING")
&amp;nbsp; if (!require(sp)) stop("sp PACKAGE MISSING")
&amp;nbsp; if (!require(rgdal)) stop("rgdal PACKAGE MISSING")
&amp;nbsp; if (!require(foreign)) stop("foreign PACKAGE MISSING")

#### Get Arguments 
Args = commandArgs()
&amp;nbsp; inputFC = sub(".shp", "", Args[5], ignore.case=TRUE)
&amp;nbsp;&amp;nbsp;&amp;nbsp; outputFC = sub(".shp", "", Args[6], ignore.case=TRUE)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dependentVar = Args[7]
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; independentVarString = Args[8]
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; usePenalty = as.integer(Args[9])
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; usePenalty &amp;lt;- usePenalty == 1
&amp;nbsp;&amp;nbsp;&amp;nbsp; coefTable = sub(".csv", "", Args[10], ignore.case=TRUE)
&amp;nbsp; diagTable = sub(".csv", "", Args[11], ignore.case=TRUE)
print(paste(commandArgs(), collapse=" "))

### Extract path and shapefile names
tmp &amp;lt;- unlist(strsplit(inputFC, "/"))[-length(unlist(strsplit(inputFC, "/")))] 
&amp;nbsp; path &amp;lt;- paste(tmp,collapse="/") 
&amp;nbsp;&amp;nbsp;&amp;nbsp; in.shp.name &amp;lt;- unlist(strsplit(inputFC, "/"))[length(unlist(strsplit(inputFC, "/")))]
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; out.shp.name &amp;lt;- unlist(strsplit(outputFC, "/"))[length(unlist(strsplit(outputFC, "/")))]

#### Get variable Names 
independentVars = strsplit(independentVarString, ";")
&amp;nbsp; independentVars = c(unlist(independentVars))

### Read shapefile using rgdal
shp &amp;lt;- readOGR(path, in.shp.name)&amp;nbsp; 
&amp;nbsp; 
### Logistic regression model
print("Running model....")

lmodel &amp;lt;- LogitRegression(shp@data, y=dependentVar, x=independentVars, 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; penalty=usePenalty)
&amp;nbsp; print( lmodel$model )

### Add columns to data and write shapefile 
print("Writing Output....")
&amp;nbsp; shp@data$Probs &amp;lt;- predict(lmodel$model,shp@data[,rownames(lmodel$model$var)[-1]], 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; type="fitted") 
&amp;nbsp;&amp;nbsp;&amp;nbsp; shp@data$Residual = lmodel$Residuals[,1]
&amp;nbsp;&amp;nbsp;&amp;nbsp; shp@data$StdResid = lmodel$Residuals[,2]
writeOGR(shp, path, out.shp.name, driver="ESRI Shapefile", check_exists=TRUE, 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; overwrite_layer=TRUE) 

### Write&amp;nbsp; comma seperated ASCII flatfile of model coefficients and diagnositics 
###&amp;nbsp;&amp;nbsp; model&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lrm MODEL OBJECT 
###&amp;nbsp;&amp;nbsp; diagTable&amp;nbsp;&amp;nbsp;&amp;nbsp; DATAFRAME OF REGRESSION DIAGNOSTICS
###&amp;nbsp;&amp;nbsp; coefTable&amp;nbsp;&amp;nbsp;&amp;nbsp; DATAFRAME OF REGRESSION COEFFICENTS
###&amp;nbsp;&amp;nbsp; Residuals&amp;nbsp;&amp;nbsp;&amp;nbsp; DATAFRAME OF RESIDUALS AND STANDARDIZED RESIDUALS
write.csv(lmodel$coefTable, coefTable)
write.csv(lmodel$diagTable, diagTable)

#if (AIF == TRUE) {
#&amp;nbsp;&amp;nbsp;&amp;nbsp; p &amp;lt;- pentrace(lmodel$model, penalty=seq(0.1,1,by=0.05), which="aic.c")
#&amp;nbsp;&amp;nbsp; plot(p)
#&amp;nbsp; }
print("Model Complete...")
&lt;/I&gt;&lt;/I&gt;&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 12 Dec 2021 03:53:06 GMT</pubDate>
      <guid>https://community.esri.com/t5/spatial-statistics-questions/logistic-regression-in-arcgis-is-this-a/m-p/658866#M2133</guid>
      <dc:creator>JeffreyEvans</dc:creator>
      <dc:date>2021-12-12T03:53:06Z</dc:date>
    </item>
    <item>
      <title>Re: Logistic Regression in ArcGIS is this a possibility?</title>
      <link>https://community.esri.com/t5/spatial-statistics-questions/logistic-regression-in-arcgis-is-this-a/m-p/658867#M2134</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi Dr. Evans,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;thank you for posting the script for R for logistic regression. I started using R only a few weeks ago and I got it to work without the "middle man" (arcgis).&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;However I wanted to make sure, this is not an autologistic regression, correct? I want the spatial covariate for a autologistic/spatial logistic model; and it doesn't look like this script takes the geography of the observations into account. Am I right?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Marilyn&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 11 Dec 2013 22:26:07 GMT</pubDate>
      <guid>https://community.esri.com/t5/spatial-statistics-questions/logistic-regression-in-arcgis-is-this-a/m-p/658867#M2134</guid>
      <dc:creator>MarilynMontgomery</dc:creator>
      <dc:date>2013-12-11T22:26:07Z</dc:date>
    </item>
    <item>
      <title>Re: Logistic Regression in ArcGIS is this a possibility?</title>
      <link>https://community.esri.com/t5/spatial-statistics-questions/logistic-regression-in-arcgis-is-this-a/m-p/658868#M2135</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Marilyn,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;You are correct this is not an autologistic model. However, all you have to do to specify an autologistic regression using this code is to spatially lag your dependent variable and include it on the x side of the model as an independent variable (autocovariate). You can easily spatially lag a variable using the spdep package. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The caveat with this type of model is that there is an assumption that the autocovariate does not correlate with the other independent variables. If this is the case then the model becomes quite biased and the coefficients often misleading. It is highly recommend that you explore mixed effect models and treat the autocorrelation as a random effect. This type of model can be specified using the GLMM function in the nlme package. If you would like to correctly specify an autologistic model you could put it in an MCMC context and specify the autocorrelation function as a design matrix.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Just in case you have not read them I attached the Dormann (2007) paper on autologistic regression and well as the He et al., (2003) simulation paper. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Best,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Jeff&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 11 Dec 2013 23:06:29 GMT</pubDate>
      <guid>https://community.esri.com/t5/spatial-statistics-questions/logistic-regression-in-arcgis-is-this-a/m-p/658868#M2135</guid>
      <dc:creator>JeffreyEvans</dc:creator>
      <dc:date>2013-12-11T23:06:29Z</dc:date>
    </item>
    <item>
      <title>Re: Logistic Regression in ArcGIS is this a possibility?</title>
      <link>https://community.esri.com/t5/spatial-statistics-questions/logistic-regression-in-arcgis-is-this-a/m-p/658869#M2136</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi Jeff,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thank you very much for your helpful reply. Does the lag.listw command in R do the same thing as autocov_dist, if I use a distance-based weight matrix with lag.listw and specify the same distances for lag and autocovariate? It seems like I could use either of these commands to calculate an autocovariate for autologistic regression.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;And could you give me any more guidance on how to "correctly specify an autologistic model ... put it in an MCMC context and specify the autocorrelation function as a design matrix"? When you say autocorrelation function as a design matrix, are you referring to the autocovariate?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks again!&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Marilyn&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 26 Dec 2013 20:54:39 GMT</pubDate>
      <guid>https://community.esri.com/t5/spatial-statistics-questions/logistic-regression-in-arcgis-is-this-a/m-p/658869#M2136</guid>
      <dc:creator>MarilynMontgomery</dc:creator>
      <dc:date>2013-12-26T20:54:39Z</dc:date>
    </item>
    <item>
      <title>Re: Logistic Regression in ArcGIS is this a possibility?</title>
      <link>https://community.esri.com/t5/spatial-statistics-questions/logistic-regression-in-arcgis-is-this-a/m-p/658870#M2137</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;The "autocov_dist" and "lag.listw" functions do not result in the same thing. For a autologistic model you want to use the "autocov_dist". The "lag.listw" results in a sparse matrix based on the spatial lag of the defined neighbor relationship. In concert with knearneigh (where k = (n-1)) you could trick this function to return lagged weights but the "autocov_dist" function is specifically designed to produce a autocovariate. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I have to say that an MCMC specification of a model is a very complicated procedure and requires either writing your own MCMC function, which is a huge undertaking if you are not familiar with the mathematical/statistical theory, or using Jags/WinBUGS through an R interface. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The design matrix is defining a specific autocovariance function in the parameter portion of the Bayesian model rather than depending on an autocovariate, which can bias the model. This type of model is really beyond the scope of this forum, as is much of the R advice thus far. If you have further questions I would recommend contacting me off list. jeffrey_evans&amp;lt;at&amp;gt;tnc.org&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 27 Dec 2013 19:50:10 GMT</pubDate>
      <guid>https://community.esri.com/t5/spatial-statistics-questions/logistic-regression-in-arcgis-is-this-a/m-p/658870#M2137</guid>
      <dc:creator>JeffreyEvans</dc:creator>
      <dc:date>2013-12-27T19:50:10Z</dc:date>
    </item>
  </channel>
</rss>

