[statnet_help] Assistance with Calculating Degree Centrality in
 Directed and Valued Networks Using the sna Package in R
    Carter T. Butts via statnet_help 
    statnet_help at u.washington.edu
       
    Fri Aug 30 00:59:25 PDT 2024
    
    
  
Hi, Chuding -
Glad that fixed it.   With respect to edgelists vs. adjacency matrices, 
they will give you equivalent results.  If you seem to be getting 
different results, check the two objects: somewhere in your code, you've 
presumably made them non-equivalent....
Best,
-Carter
On 8/26/24 5:59 AM, CHU-DING LING wrote:
>
> Carter,
>
>
> Thank you for your suggestions! The problem has been resolved.
>
> Initially, I imported a matrix from a CSV file and stored it as a 
> matrix class object. I then converted it into a network class object 
> since many functions in *sna* require objects to be of the network 
> class. However, I noticed that the edge weights were lost during the 
> conversion from the matrix object to the network object, which caused 
> the results from the degree() function not to account for edge weights.
>
> Actually, the degree() function can directly handle the matrix object. 
> I also used as.sociomatrix.sna() to convert the original matrix object 
> into another matrix object with a different name. Both approaches 
> produced the same degree centrality results for the directed and 
> valued network.
>
> I also experimented with the as.edgelist.sna() function to convert the 
> original matrix object into an edgelist object. However, when I 
> calculated the degree centrality of this object, it produced incorrect 
> results, with a greater number of elements than the number of nodes in 
> my network. I appreciate if you can give some insights on this issue.
>
> Thanks in advance!
>
> Chuding
>
>
> Carter T. Butts via statnet_help <statnet_help at u.washington.edu> 
> 于2024年8月25日周日 05:15写道:
>
>     H, Chuding -
>
>     The degree() function already exploits edge values; this is its
>     default behavior.  If you wish to /ignore/ edge values, you need
>     to set the "ignore.eval" argument to TRUE.
>
>     If you are not getting valued degree calculations from degree()
>     using the defaults, then you are not passing it valued data.  This
>     may be due to a preprocessing error (so check your inputs). 
>     Another possible failure mode is that you are passing it a network
>     object that has value information stored as an edge attribute, and
>     are expecting degree() to use those edge values.  Since a network
>     object can have any number of edge attributes (or none at all),
>     and they can be of any data type (i.e., not necessarily numeric),
>     degree() can't automagically know what is intended in that case,
>     and will therefore treat the data as unvalued.  An easy way to use
>     edge attribute information is to wrap your object in a call like
>     as.edgelist.sna(<mynet>,attrname=<whateveredgeattributeIwanttouse>),
>     which will extract from the object the specific valued network
>     that you want to analyze.  That's especially handy if you have
>     several different edge values you want to store in the same
>     network object.  Of course, you can also use that same trick to
>     make a "working" edgelist at the top of your script that you reuse
>     for multiple calculations.  (The same can be done with adjacency
>     matrices rather than edgelists, if one prefers.  See e.g.
>     ?as.sociomatrix.sna.)
>
>     Hope that helps,
>
>     -Carter
>
>     On 8/23/24 9:07 PM, CHU-DING LING via statnet_help wrote:
>>
>>     Dear all,
>>
>>     I hope this message finds you well. I am currently working on a
>>     project that involves social network analysis using the *sna*
>>     package in R. I am reaching out to seek your expertise on a
>>     particular issue I have encountered regarding the calculation of
>>     degree centrality in directed and valued networks.
>>
>>     I am working with a directed network where edges have associated
>>     weights. My goal is to accurately calculate both the in-degree
>>     and out-degree centrality of nodes while considering the edge
>>     weights. I attempted to calculate the degree centrality using the
>>     degree function in the *sna* package. While this function works
>>     well for unweighted networks, I realized that it does not account
>>     for edge weights.
>>
>>     Could you please advise on the best method or function within the
>>     *sna* package to accurately calculate the degree centrality in
>>     this context? Though I can make it with *igraph* or other
>>     packages, I am particularly interested in whether *sna* could
>>     directly handle weighted edges in directed networks.
>>
>>     Your guidance would be invaluable, and I would greatly appreciate
>>     any suggestions or resources you might be able to provide. Thank
>>     you for your time and consideration. I look forward to your insights.
>>
>>     Best,
>>
>>     Chuding
>>
>>
>>     _______________________________________________
>>     statnet_help mailing list
>>     statnet_help at u.washington.edu
>>     https://urldefense.com/v3/__http://mailman13.u.washington.edu/mailman/listinfo/statnet_help__;!!CzAuKJ42GuquVTTmVmPViYEvSg!Npw4CFqLg3mWAfPesSBtoa6UjvVqK_t7JYrixPsjqKAxzUTjhOvoeAxG6tO4iWruplppJ7ZQGd8FOLXV8VLxBP8-nfnt$  
>     _______________________________________________
>     statnet_help mailing list
>     statnet_help at u.washington.edu
>     http://mailman13.u.washington.edu/mailman/listinfo/statnet_help
>     <https://urldefense.com/v3/__http://mailman13.u.washington.edu/mailman/listinfo/statnet_help__;!!CzAuKJ42GuquVTTmVmPViYEvSg!K6AnX5T7ncI4niN0TJ-TlovKAm3m3t5-Q3ZLpsyePCkGVbHm5aIUd8RF7svulqI3hJGWibMjch4bTC5nxZg$>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman13.u.washington.edu/pipermail/statnet_help/attachments/20240830/da7b94aa/attachment.html>
    
    
More information about the statnet_help
mailing list