Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Think about 'disadoption' #20

Open
gvegayon opened this issue Oct 6, 2017 · 2 comments
Open

Think about 'disadoption' #20

gvegayon opened this issue Oct 6, 2017 · 2 comments

Comments

@gvegayon
Copy link
Member

gvegayon commented Oct 6, 2017

The idea

While the social phenomena that inspired netdiffuseR was the diffusion of innovations which usually is assumed to be permanent (for example, color TV, internet, etc.), the more general case is about social behavior that need not be permanent, such as, smoking, political position, etc.

It is then the case that if we want to extend the use netdiffuseR it is necessary to implement disadoption of behavior as well, in other words, more than using Time of Adoption, the more general case requires using spells (if continuous) or more generally a sort of cumulative adoption matrix in which individuals are allowed to disadopt.

Making such change can be huge in the package since most of the methods and core functionalities depend on time of adoption, which does not provide the flexibility needed.

Perhaps, a first solution would be to actually start a new R package that relates to netdiffuseR. This can be in line with the development of a simulation-only oriented R package that allows implementing ABM.

If we change this to have multiple adoptions, then, a bunch of functions will have to be modified, in essence, all of those that use toa as input.

Functions and structure using toa

  • threshold: Essentially, the meaning of this concepts changes when we have multiple adoptions. Since this is not for the first adoption, this would be a threshold for "expressing" the behavior at all, e.g. using a particular technology in the workplace such as Slack, or a jargon, or even smoking.

  • plot_diffnet2: Since there may be multiple adoptions, then it does not make sense to use a single (static) plot to represent the dynamics of the diffusion process.

  • diffnet Class: The matrix adopt would be suffering from this. And also toa. cumadopt on the other hand should be OK. The most flexible way of storing adoption times is using spells, i.e. time-stamped data. But the main drawback of this would be the fact that all the rest of the data would be treated as discrete (pretty much the network and the attributes). Unless we change the way we store data, spells should be discrete.

  • infect and suscept functions: These use toa heavily. But this can be changed to a dynamic adopt matrix.

@nataliesmith123
Copy link

Hi - I'd be interested to hear if you've thought about this any more or made any progress on a separate or supplementary package to netdiffuseR. I'm thinking about the adoption of various health behaviors, which can come and go (as you discuss above). I'd like to use netdiffuseR, just not sure if its currently able to handle multiple adoptions/deadoptions.

Natalie

@gvegayon
Copy link
Member Author

gvegayon commented Jun 8, 2018

I'm sorry but we haven't made any progress on this issue, and we don't have any concrete plans for it. I would encourage you to take a look at EpiModel.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants