Giter Site home page Giter Site logo

statnetweb's Introduction

statnet: Software Tools for the Statistical Analysis of Network Data

Build Status Build Status rstudio mirror downloads cran version

An integrated set of tools for the representation, visualization, analysis, and simulation of network data. For an introduction, type help(package='statnet').

Public and Private repositories

To facilitate open development of the package while giving the core developers an opportunity to publish on their developments before opening them up for general use, this project comprises two repositories:

  • A public repository statnet/statnet
  • A private repository statnet/statnet-private

The intention is that all developments in statnet/statnet-private will eventually make their way into statnet/statnet and onto CRAN.

Developers and Contributing Users to the Statnet Project should read https://statnet.github.io/private/ for information about the relationship between the public and the private repository and the workflows involved.

statnetweb's People

Contributors

chad-klumb avatar ebey avatar kecoli avatar krivit avatar martinamorris avatar mbojan avatar skyebend avatar smjenness avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

statnetweb's Issues

Problem with fitting nodecov example on flomarriage from NME Day 2

This is with the CRAN version running locally, here is the error message under the hood.

Warning in strsplit(msg, "\n") :
  input string 1 is invalid in this locale
Error in parse(text = x, keep.source = FALSE) : <text>:1:21: unexpected input
1: nw() ~ edges+nodecov(�

CRAN error

CRAN folks found the following error and have asked us to fix it:

Found the following \keyword or \concept entries
which likely give several index terms:
  File 'run_sW.Rd':
    \keyword{GUI,}

The offending line is here

Any idea what they're asking for?

Geodesic distance counts

screen shot 2018-08-20 at 3 45 36 pm

Geodesic distance distribution count exceeds total possible dyad counts (e.g., for faux.mesa.high: choose(205, 2) = 20910)

Type in terms to use for cug histograms

selectizeInput is a good format to use for typing/searching from a list, but some terms have additional arguments and some don't. Also, terms differ in the form of their outputs, and the histograms are only set up for using terms with single values outputs.

Prefit summary

  1. Retitle as "Summary Statistics"
  2. If possible, use more output columns (currently uses only 2)

Factor ordering for legends and summary model output

Current ordering is a bit odd. For example, look at faux.mesa. Here, alphabetic (with "other" at end) would be best, but may be difficult to achieve. Note that the same ordering would be useful for nodefactor and nodematch in the model output. If R is using the order encountered in the data, sorting might help, but: 1. i'm not sure how to sort a network object, and 2. achieving alphabetical order for multiple factors may not be possible; and 3. that wouldn't guarantee "other" at the end.

Worth looking at the "relevel" command -- maybe that will work here.

ecoli1 and 2 networks generate errors

Error in solve.default(A, tol = tol) :
system is computationally singular: reciprocal condition number = 1.7338e-21

Can others please try pulling to make sure you're working with the same version, and reproduce this. The error shows up on the console when you load the network from the Data tab

"Calc in progress" popup

  1. it doesn't seem to pop up in the shiny window on my windows pc, but it does show up when i view in browser
  2. might be worth making it pop up in the active viewing area -- right now it's only visible if you scroll to the top of the screen

use network name uploaded by user as object name

Functions within the shiny code that take in a network object use the nw() reactive object, which is convenient, except for a few scenarios when a different behavior would be more helpful for the user.

  • When fitting a model, edgecov and dyadcov terms require nw() argument instead of actual network name
  • The printed model summary shows nw() ~ edges

This is probably a long term issue.

minor issue with "What is an R-object?" help text

I'm pretty sure the help text for "What is an R-object?" is wrong about setting the path to the new location the 'envir' argument (which controls the internal search path for the object). User should either include the full path when giving the file name, or change R's working directory. Or set file=choose.file(new=TRUE) to use a normal save dialog.

Error messages in statnetWeb: fixing before SunBelt

@martinamorris @chad-klumb

This is just an issue to get us started on documenting errors and fixes.

I've been able to get the app running and have successfully (perhaps unfortunately) the same errors Martina showed us.

Here is the list:

  • Chad to look into the "summary.formula" to fix this error:

image
This can be recreated: Data -> upload network -> filetype (built in network is faux.mesa.high) ; Network Descriptives -> More -> Run the default term on 100 simulations.

I'll be away from my laptop till 7PM EST (4PM PST) but will bug test this out as much as possible when I return

clean up appearance

  • solidify color scheme of action buttons
    • gradient on hover?
  • helper buttons should line up with what they explain
  • tool tips should not obscure what they explain (see statnet Wiki link in resources panel)
  • color of "Calculation in Progress" icon
  • delay before tool tips appear?

(some work already done in commits 87cb384, 75411bd, a732502)

Package structure revision needed to deploy

Shiny app package structure requirements have changed since this was first written. When I try to deploy to the shinyApps.io server I get the following error:

deployApp()

Error in lint(appDir, appFiles, appPrimaryDoc) :
Cancelling deployment: invalid project layout.
The project should have one of the following layouts:

  1. 'shiny.R' and 'ui.R' in the application base directory,
  2. 'shiny.R' and 'www/index.html' in the application base directory,
  3. 'app.R' or a single-file Shiny .R file,
  4. An R Markdown (.Rmd) document,
  5. A static HTML (.html) or PDF (.pdf) document.
  6. 'plumber.R' API description .R file
  7. 'entrypoint.R' plumber startup script
  8. A tensorflow saved model

deployApp error log

for some reason, it's not finding the ergm datasets.

> rsconnect::showLogs()
2019-06-15T19:17:25.218471+00:00 shinyapps[42335]: 
2019-06-15T19:17:25.245307+00:00 shinyapps[42335]: Listening on http://127.0.0.1:39309
2019-06-15T19:17:25.245304+00:00 shinyapps[42335]: 
2019-06-15T19:17:32.095261+00:00 shinyapps[42335]: Warning in if (!is.na(attribValue)) { :
2019-06-15T19:17:32.095264+00:00 shinyapps[42335]:   the condition has length > 1 and only the first element will be used
2019-06-15T19:17:32.095419+00:00 shinyapps[42335]: Warning in charToRaw(enc2utf8(text)) :
2019-06-15T19:17:32.095420+00:00 shinyapps[42335]:   argument should be a character vector of length 1
2019-06-15T19:17:32.095421+00:00 shinyapps[42335]: all but the first element will be ignored
2019-06-15T19:17:34.088237+00:00 shinyapps[42335]: Warning in data(faux.mesa.high) : data set ‘faux.mesa.high’ not found
2019-06-15T19:17:34.093196+00:00 shinyapps[42335]: Warning in data(florentine) : data set ‘florentine’ not found
2019-06-15T19:17:34.097437+00:00 shinyapps[42335]: Warning in data(sampson) : data set ‘sampson’ not found
2019-06-15T19:17:34.101819+00:00 shinyapps[42335]: Warning in data(samplk) : data set ‘samplk’ not found
2019-06-15T19:17:34.106127+00:00 shinyapps[42335]: Warning in data(ecoli) : data set ‘ecoli’ not found
2019-06-15T19:17:34.110526+00:00 shinyapps[42335]: Warning in data(molecule) : data set ‘molecule’ not found
2019-06-15T19:17:34.114905+00:00 shinyapps[42335]: Warning in data(kapferer) : data set ‘kapferer’ not found
2019-06-15T19:17:34.128370+00:00 shinyapps[42335]: Warning: Error in search.ergmTerms: could not find function "search.ergmTerms"
2019-06-15T19:17:34.145717+00:00 shinyapps[42335]:   62: splitargs [/srv/connect/apps/statnetWeb/global.R#40]
2019-06-15T19:17:34.145897+00:00 shinyapps[42335]: Error in search.ergmTerms(keyword = searchterm, net = nw) : 
2019-06-15T19:17:34.145899+00:00 shinyapps[42335]:   could not find function "search.ergmTerms"
2019-06-15T20:57:14.230891+00:00 shinyapps[42335]: Server version: 1.7.2-7
2019-06-15T20:57:14.230937+00:00 shinyapps[42335]: LANG: en_US.UTF-8
2019-06-15T20:57:14.449107+00:00 shinyapps[42335]: Starting R with process ID: '19'
2019-06-15T20:57:14.230941+00:00 shinyapps[42335]: R version: 3.6.0
2019-06-15T20:57:14.231876+00:00 shinyapps[42335]: Using pandoc at /opt/connect/ext/pandoc2
2019-06-15T20:57:14.443564+00:00 shinyapps[42335]: Using jsonlite for JSON processing
2019-06-15T20:57:14.449103+00:00 shinyapps[42335]: 
2019-06-15T20:57:14.230944+00:00 shinyapps[42335]: shiny version: 1.3.2
2019-06-15T20:57:14.230945+00:00 shinyapps[42335]: httpuv version: 1.5.1
2019-06-15T20:57:14.231010+00:00 shinyapps[42335]: knitr version: NA
2019-06-15T20:57:14.231015+00:00 shinyapps[42335]: htmltools version: 0.3.6
2019-06-15T20:57:14.231013+00:00 shinyapps[42335]: jsonlite version: 1.6
2019-06-15T20:57:14.231014+00:00 shinyapps[42335]: RJSONIO version: NA
2019-06-15T20:57:14.230946+00:00 shinyapps[42335]: rmarkdown version: NA
2019-06-15T20:57:14.482240+00:00 shinyapps[42335]: 
2019-06-15T20:57:14.482243+00:00 shinyapps[42335]: Listening on http://127.0.0.1:35505
2019-06-15T20:57:20.138268+00:00 shinyapps[42335]:   the condition has length > 1 and only the first element will be used
2019-06-15T20:57:20.138390+00:00 shinyapps[42335]:   argument should be a character vector of length 1
2019-06-15T20:57:20.138392+00:00 shinyapps[42335]: all but the first element will be ignored
2019-06-15T20:57:20.138388+00:00 shinyapps[42335]: Warning in charToRaw(enc2utf8(text)) :
2019-06-15T20:57:20.138245+00:00 shinyapps[42335]: Warning in if (!is.na(attribValue)) { :
2019-06-15T20:57:22.868502+00:00 shinyapps[42335]: Warning in data(faux.mesa.high) : data set ‘faux.mesa.high’ not found
2019-06-15T20:57:22.872337+00:00 shinyapps[42335]: Warning in data(florentine) : data set ‘florentine’ not found
2019-06-15T20:57:22.876235+00:00 shinyapps[42335]: Warning in data(sampson) : data set ‘sampson’ not found
2019-06-15T20:57:22.884102+00:00 shinyapps[42335]: Warning in data(ecoli) : data set ‘ecoli’ not found
2019-06-15T20:57:22.888045+00:00 shinyapps[42335]: Warning in data(molecule) : data set ‘molecule’ not found
2019-06-15T20:57:22.891947+00:00 shinyapps[42335]: Warning in data(kapferer) : data set ‘kapferer’ not found
2019-06-15T20:57:22.905992+00:00 shinyapps[42335]: Warning: Error in search.ergmTerms: could not find function "search.ergmTerms"
2019-06-15T20:57:22.922676+00:00 shinyapps[42335]:   62: splitargs [/srv/connect/apps/statnetWeb/global.R#40]
2019-06-15T20:57:22.880179+00:00 shinyapps[42335]: Warning in data(samplk) : data set ‘samplk’ not found
2019-06-15T20:57:22.922871+00:00 shinyapps[42335]:   could not find function "search.ergmTerms"
2019-06-15T20:57:22.922869+00:00 shinyapps[42335]: Error in search.ergmTerms(keyword = searchterm, net = nw) : 

Default plot margins in Network Descriptives section

To get the network plot to better fill the available plot window in the Network Plot tab under the Network Descriptives section, try setting the margins for the plot window to 0 on all four sides:

par(mar = c(0, 0, 0, 0))

That might look better.

error downloading cugtest plots

The file name appears in the downloads folder, but has no contents. The following error prints to the console:

Listening on http://127.0.0.1:6930
Error opening file: 2
Error reading: 6

This discussion addresses the same issue, but their solution isn't working.

library refs in server.R

Just a minor note on loading libraries in your inst folder files.

Now that you have all these packages as depends, this:
https://github.com/statnet/statnetWeb/blob/master/inst/shiny/server.R#L2-L8

can just be replaced with:

library(statnetWeb)

One thing that you may have found out from trying to deploy to shinyapps.io is that it will not accept a package that is built locally, but it will accept one built from github. Therefore, after you commit to github, you need to:

  1. Install statnetWeb with `devtools::install_github("statnet/statnetWeb")
  2. Then deploy

missing library dependency with default instructions

When I ran the default command after installing the shiny library I got the following error

shiny::runGitHub("statnetWeb", "statnet")
Downloading https://github.com/statnet/statnetWeb/archive/master.tar.gz
Loading required package: shiny

Listening on http://127.0.0.1:7254
Error in library(shinyBS) : there is no package called ‘shinyBS’

After I manually installed shinyBS it worked fine. Not sure if the instructions need to say install shinyBS, or if the app is missing a dependency declaration or something?

Transition online app to statnet.shinyapps.io

@ebey We just purchased the next tier of shinyapps service for a year, so when you're ready let's move your statnetWeb app over to our statnet shinyapps account. That will support many more user hours per month.

clearer first step when arriving in the app?

I think the initial landing About v0.1.0 page should have somewhere a big "Start Here" button that jumps to the first page in the tab sequence. Otherwise you have to read the text pretty carefully to figure out the 1st step. (or do what I did, and click on the statnet citation because it looks like a button :-) This is especially true if you happen to be viewing on a narrower screen, as the responsive layout will (nicely) collapse the tabs into a popup menu.

needs some minimal tests

writing tests for a GUI application can be quite hard, but it would be great to have some minimal tests that the application can launch so we know if we break it with upstream changes

MCMC diagnostics section for dyadic independent models

When a model containing only dyadic independent terms is fit (for example, ~edges + nodematch("Grade") for the add health datasets), no MCMC is run as expected. But it may be helpful for the novice user to have some explanation of this in the MCMC diagnostics tab with such models.

Another option is to always force MCMC even with dyadic independent models with the control.ergm setting force.main set to TRUE, which would always run MCMC. But I'm not sure if this is a good statistical practice.

Error : Invalid DESCRIPTION file

Installing statnetWeb gives the following error.

devtools::install_github("statnet/statnetWeb")
* installing *source* package 'statnetWeb' ...
Warning in .canonicalize_person_role(role) :
  Invalid role specification: 'cre, aut'.
Error : Invalid DESCRIPTION file

Authors@R field gives no person with maintainer role, valid email
address and non-empty name.

See section 'The DESCRIPTION file' in the 'Writing R Extensions'
manual.

ERROR: installing package DESCRIPTION failed for package 'statnetWeb'
* removing 'F:/ROpen/R-3.5.1/library/statnetWeb'
In R CMD INSTALL
Installation failed: Command failed (1)

nodefactor terms for multiple factors

Objective: allow user to pick nodefactor terms for multiple factors independently

Current behavior: picking multiple factors results in nodefactor(c(x1, x2)) instead of the desired nodefactor(x1) + nodefactor(x2)

clear GOF plot window when new model is run

otherwise, the plots from the old model are there when you flip to that tab. the MCMC do eventually redraw automatically, but the GOF don't, and may be mistaken for new plots

make all plots reactive objects

The reactive object will get passed to both renderPlot to show to the user and downloadHandler if they choose to download it, saving run time.

Also, consider changing image formats from PDF to PNG.

gather errors from centrality measures

When calculating graph or node-level centrality measures that return an error (e.g. information centrality on the ecoli1 network), save the error in a reactiveValues list and output the list in box at the bottom right of the screen. Link the error message to the place in the app where the error occurred with an error number. Ideally, we will eventually show the user all errors in this way.

Currently, the framework is set up just for the node-level information centrality measure, but the conditionalPanel for the error message box is not working as expected. Fix this first, then work on adding more errors to the list.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.