## Lecture 7: From 2-Mode to 1-Mode, from Affiliations to Relations

## Lecture Overview

Welcome to the seventh lecture for the undergraduate social networks course at the University of Maine at Augusta, in which we consider the importance of groups and affiliations in social network analysis. In 1974, Ronald Breiger developed a method for tracking the “dual” impact of persons and groups: while shared group memberships lead to the formation of interpersonal ties, the people who are members of two groups also create ties between groups. As Scott Feld puts it more broadly, groups “focus” interaction. We consider this idea in detail below.

Before you start this lecture, be sure to read Scott Feld’s article “The Focused Organization of Social Ties”.

This week, you have a free pass on direct lecture participation; instead, devote extra energy to the task of converting 2-mode networks to 1-mode networks in your assignment. You need to follow a series of steps precisely, but if you do, you’ll get your reward!

Our lecture subjects this week are:

- The Duality of Persons and Groups
- Don’t Forget About tie Strength
- Working with 2-Mode Data in the Abstract and in Concrete Examples
- Cohesion in Subgroups: Components, Cliques, N-Cliques and K-Cores

## The Duality of Persons and Groups

Social networks can be described and used in very complicated ways, but arguably contain just two sorts of information:

**One-mode information**: Ties between nodes

**Two-mode information**: Membership of nodes in events, organizations, categories or actions

Networks are not just about *relations* — like two people sharing tax advice — but also *affiliations* — like membership in a local Kiwanis Club. Up to this point in the course we have been working directly with relations between social objects in which the social objects are all of the same sort, are represented as nodes, and are tied to one another according to the standard of the relation being considered. From this point on in the course we will think carefully about how *affiliations* lead to networks, because there is more than one sort of social object involved (not just a person but also a group), and because a group affiliation held by a person is not exactly the same thing as a tie between two people or two groups. Sociologists Ronald Breiger and Scott Feld have pointed out, however, that ties and affiliations are closely related, with ties emerging from shared affiliations.

In a 1974 article titled “The Duality of Persons and Groups,” Ronald Breiger laid out a technique for obtaining a *persons x persons* adjacency matrix and a *groups x groups* adjacency matrix from a *persons x groups* affiliation matrix. To understand Breiger’s technique in detail, you must be familiar with the mathematics of matrix multiplication, but the theoretical argument can be laid out in plain English:

- When two people belong to a group (or any other meaningful activity) together, they spend time together. As Scott Feld pointed out in the 1981 article “The Focused Organization of Social Ties,” group membership is a “focus” that tends to lead to the formation of social ties between members.
- As two individuals hold more common group memberships in common, they will spend more time together. Therefore, the strength of their social tie will increase.
- When two groups hold a member in common, information of various sorts can be more easily communicated from group to group. Common members tie groups to one another.
- As two groups hold more members in common, the strength of the tie between them will increase.

Over the course of this week’s lecture, we’ll present this procedure in increasing detail and complexity, beginning with this slightly annotated figure excerpted from Breiger’s original article. In this figure, original information about the membership of people A,B,C,D,E, and F in groups 1,2,3,4,5 is represented at the bottom (part C), then converted (part B) to an *interpersonal network* in which ties between people are the number of groups in common and an *intergroup network* in which ties between groups are the number of people held in common:

In the interpersonal network, persons D and F have a tie of “2” because they are both members of groups 3 and 4. Group 1 and group 2 have a tie of “1” because the two groups share 1 member (person C). Persons A and B have a tie of “0” — no tie at all — because they don’t share any group memberships in common.

Moving to a real-world example, the following is a *senators x committees* affiliation matrix describing *which* senators in the 124th Maine State Legislature belonged to *what* legislative committees. It is also called a *2-mode* matrix because the rows and the columns do not correspond to one another, but rather describe 2 different *kinds* of social objects (senators and committees). Those two kinds of objects are also called the two “modes.” In this example, the mode of senator is referred to in rows and the mode of committee is referred to in columns. A value of “1” in a cell means that a senator *is* a member of a committee. A value of “0” in a cell means that a senator *is not* a member of a committee:

To describe just a few examples of the information contained in the above 2-mode matrix, we can see that Gerald Davis is a member of the Crime Committee, but not a member of the Agriculture Committee, the Labor Committee, or the Inland Fisheries Committee. Troy Jackson, on the other hand, is a member of the Labor Committee and the Inland Fisheries Committee, but is not a member of the Agriculture Committee or the Crime Committee.

From the above matrix, we can obtain the following *senators x senators* adjacency matrix describing how many *committee memberships in common *any two senators have. This may also be called a 1-mode matrix because the rows and the columns correspond to one another, describing only 1 kind of social object (in this case, only describing senators):

And we can also obtain the following *committees x committees* adjacency matrix describing how many senators in common any two committees have:

Did you notice the presence of numbers in the diagonal of these two matrices? They mean something: Bruce Bryant shares two group memberships with himself (in plainer language, Bruce Bryant is a member of two committees). The Agriculture committee shares three memberships with itself (in plainer language, the Agriculture committee has three members).

## Don’t Forget About Tie Strength

Look closely again at the figure from Ronald Breiger’s article. Notice that there are numbers beyond the usual 0 and 1 of a simple social network. Also notice that in his matching sociogram, he has at times drawn two lines between nodes. Breiger’s figure reintroduces us to an aspect of added complexity in a social network that we covered before the midterm exam: **tie strength**. Especially in two-mode networks, depictions of tie strength are common.

In his classic 1973 paper “The Strength of Weak Ties,” Mark Granovetter defines tie strength as follows:

"Most intuitive notions of the 'strength' of an interpersonal tie should be satisfied by the following definition: the strength of a tie is a (probably linear) combination of the amount of time, the emotional intensity, the intimacy (mutual confiding), and the reciprocal services which characterize the tie."

To review, these indicators of tie strength are features leading either to a greater volume of interaction between two nodes or to interaction that is more highly valued. When considering tie strength in network research, ties are not measured in binary terms (1=existing, 0=not existing), but rather as ordinal valued data (ex. “meets 0 times a week for lunch,” “meets 2 times a week for lunch,” “meets 4 times a week for lunch”) in which the value of the tie indicates how strong the tie is.

In the form of an adjacency matrix, a network can depict tie strength by including numbers larger than 0 or 1 in a matrix’s cells. The value of such numbers represent the strength of a tie between two nodes. For example, in the matrix below we could note that Alice and Tom have a relatively strong tie, sharing 4 lunch dates per month. Alice and Lucy have a weaker tie, only sharing 1 lunch date per month. The tie between Lucy and Tom is absent; they don’t go out to lunch with one another at all during a month.

The same information regarding tie strength can be depicted in a sociogram by placing a number next to each tie that connects nodes:

Placing a number next to a tie in a sociogram is a handier way of depicting tie strength than drawing multiple ties between nodes (as Breiger did) when the strength of a tie is greater than 2. Imagine how messy would it be to draw 14 ties between a pair of nodes in a sociogram!

## Working with 2-Mode Data in the Abstract and in Concrete Examples

In the above section of our lecture, we’ve considered sample 2-mode data for a very small number of nodes. What’s the experience like when you’re working with a complete set of nodes in a real-life situation? You’ll find the answer to that question when you work through Homework Assignment #6, due Sunday October 29 (see the syllabus). The following video reviews the concepts of 2-mode affiliation and its relationship to 1-mode adjacency. Here is a good place to go for helpful advice on getting started with the logic of shifting between 2-mode and 1-mode matrices:

Now let’s move from abstract work with hypothetical 2-mode matrices to concrete work with actual, real-live matrices. Let’s look at American corporate networks.

In this week’s homework, I’ve asked you to complete the following work:

- Visit the web page of the Fortune 500, the five hundred corporations registered with and operating in the USA with the largest revenues. Choose 6 of these companies.
- For each company, find a list of the people sitting on its board of directors. The Fortune 500 web page features links to company web pages, which almost always contains a list of the members of its board of directors.
- Using Microsoft Excel or R (your choice, as outlined in this lecture), enter the membership data for these boards of directors as a 2-mode affiliation matrix in which columns are companies and rows are members of boards. Enter board members’ names as row titles (format
*“Last Name, First Name*“) and enter companies’ names as column titles. - Using Microsoft Excel or R (your choice, as outlined in this lecture), convert the 2-mode matrix into a 1-mode persons-by-persons matrix and a 1-mode boards-by-boards matrix.
- Visualize these matrices as network graphs in R, using the R techniques you have learned before.
- Upload a word processing document containing the original 2-mode affiliation matrix, your 1-mode persons-by-persons matrix, your 1-mode boards-by-boards matrix, and your final 1-mode network graphs to the appropriate Blackboard Homework Assignments section labeled “Homework #6.”

When you visit the web page of the Fortune 500, you’ll literally have five hundred corporations to choose from. How will you find actual corporate board membership lists for the six corporations you choose? Follow these steps:

- Click on a corporation’s link to find its
*Fortune*profile. - Toward the bottom of each profile is a link to the corporation’s website. Click that link.
- Now look for a link that typically reads “Investors,” “Investor Information,” “About,” or “Corporate Governance.”
- Click whichever one of those links you find; if you don’t find exactly that text, look for a similar link. On the following page, look for more specific links. This may be “Investors” or “Corporate Governance,” if the first link you had to click was simply “About.” Click the more specific links until you find a link that says “Directors,” “Board of Directors,” “Leadership,” or some synonym of that term. 99 corporations out of 100 will have a list of all members of their Board of Directors on their web page listed under a heading like this.
- Be patient and take the time to wander through the website until you find such a list. If, after 5 minutes, you still can’t find a corporation’s list of members of its board of directors, pick another corporation.

Once you’ve got those members, what should your 2-mode matrix look like? How can you easily convert that 2-mode matrix into two 1-mode matrices? There are *three* methods for doing it, and you *only need to master one of them.*

### Method #1: Use Microsoft Excel Exclusively

The following video walks you through a Microsoft Excel-centered process, focusing on:

- The use of tabs in Microsoft Excel to organize your information,
- The tediousness of converting the 2-mode matrix information to 1-mode matrix information by hand, and
- A handy shortcut for converting 2-mode matrices to 1-mode matrices using a command in Microsoft Excel.

Watch and follow my lead to waltz through this week’s homework:

To reiterate the example in the video, here are the steps for converting a 2-mode matrix to 1-mode matrices using Microsoft Excel:

*To create a row-by-row 1-mode matrix from a 2-mode matrix:*

- Figure out how many rows of information (not including labels) you have in your 2-mode matrix. Let’s call that number of rows
*r*. - Find a blank space or a fresh tab in your Excel spreadsheet and select a set of cells that is
*r*rows high and*r*columns wide. - Making sure those cells are still selected, start typing
`=mmult(`

into your Excel formula bar. - Go find the full range of rows and columns containing data (not including labels) in your 2-mode matrix. Include that range in the Excel formula bar so your formula looks like this:
`=mmult(A2:C7,`

(if A2 is the cell in the upper-left corner of your 2-mode matrix and C7 is the cell in the lower-right corner of your 2-mode matrix) - now, after the comma in that formula, enter
`TRANSPOSE(A2:C7))`

, so your entire formula looks like`=mmult(A2:C7,TRANSPOSE(A2:C7))`

(again, if A2 is the cell in the upper-left corner of your 2-mode matrix and C7 is the cell in the lower-right corner of your 2-mode matrix) **Click and hold**the Control Key and the Shift Key, then click the Enter key.- Voila! You should have your row-by-row matrix. Add the labels to the matrix as needed.

*To create a column-by-column 1-mode matrix from a 2-mode matrix:*

- Figure out how many columns of information (not including labels) you have in your 2-mode matrix. Let’s call that number of rows
*c*. - Find a blank space or a fresh tab in your Excel spreadsheet and select a set of cells that is
*c*rows high and*c*columns wide. - Making sure those cells are still selected, start typing
`=mmult(`

into your Excel formula bar. - Go find the full range of rows and columns containing data (not including labels) in your 2-mode matrix. Include that range in the Excel formula bar so your formula looks like this:
`=mmult(TRANSPOSE(A2:C7),`

(if A2 is the cell in the upper-left corner of your 2-mode matrix and C7 is the cell in the lower-right corner of your 2-mode matrix) - now, after the comma in that formula, enter
`A2:C7)`

, so your entire formula looks like`=mmult(TRANSPOSE(A2:C7),A2:C7)`

(again, if A2 is the cell in the upper-left corner of your 2-mode matrix and C7 is the cell in the lower-right corner of your 2-mode matrix) **Click and hold**the Control Key and the Shift Key, then click the Enter key.- Voila! You should have your column-by-column matrix. Add the labels to the matrix as needed.

If you choose, you can complete your 1-mode matrices in your homework assignment by hand instead of using these Excel commands. However, if you’re careful and follow the instructions step by step, the Excel commands will save you a lot of time. What they accomplish, if you’re curious, is matrix multiplication of your 2-mode matrix and the flipped (or “transposed”) 2-mode matrix. Steve Borgatti of Boston College has a description of the logic of matrix multiplication here, if you’re interested in learning more. At the undergraduate level, I won’t expect you to learn matrix multiplication itself, but this is the sort of transformation you’d learn if you were studying network analysis in graduate school.

### R-Centered Methods: Entering Data in R (Method #2) and Importing Data to R from Excel (Method #3)

Another way of dealing with 2-mode affiliation matrices and converting it to 1-mode networks is to work with R. There are two methods for doing so that differ only in the way that a matrix is brought into R. For *small 2-mode networks*, it is often more efficient to simply type a matrix directly into R. Imagine a world with 8 state legislators (Alyssa, Brad, Carla, Dan, Enid, Frank, George and Helen) who sit on 3 committees (the Commerce, Education, and Taxation Committees).

An R script to enter a 2-mode matrix directly in R and work with it there looks like this:

library(igraph) affiliation_matrix <- matrix(c( 0,1,0, 1,0,1, 0,1,1, 1,1,0, 0,1,0, 1,0,1, 0,0,1, 1,1,0 ) ,nrow=8 ,ncol=3, byrow=TRUE) dimnames(affiliation_matrix) <- list( c("Alyssa", "Brad", "Carla", "Dan", "Enid", "Frank", "George", "Helen"), c("Commerce Committee", "Education Committee", "Taxation Committee") ) affiliation_matrix two_mode_network <- graph.incidence(affiliation_matrix) two_mode_network V(two_mode_network)$type #plot(two_mode_network, vertex.size=30, vertex.color=V(affiliation_net)$type) one_mode_networks=bipartite.projection(two_mode_network) one_mode_networks plot(one_mode_networks$proj1) plot(one_mode_networks$proj2, edge.width = E(one_mode_networks$proj2)$weight, edge.label = E(one_mode_networks$proj2)$weight, edge.curved=TRUE) get.adjacency(one_mode_networks$proj1,sparse=FALSE,attr="weight") get.adjacency(one_mode_networks$proj2,sparse=FALSE,attr="weight")

It’s also possible to enter a 2-mode affiliation matrix using a spreadsheet such as Microsoft Excel, to save the matrix in .csv format (as we’ve done before), and then to import the matrix into R. This *third method* is especially useful when matrices get large and direct entry in R would be confusing. The same information entered in the script above in Method #2 would look like this in a spreadsheet in Method #3:

… and the R script used to process this spreadsheet (saved as a .csv file) would look like this:

library(igraph) affiliation_data <- read.csv(file.choose(),header=TRUE,row.names=1) affiliation_matrix <- as.matrix(affiliation_data) affiliation_matrix two_mode_network <- graph.incidence(affiliation_matrix) two_mode_network V(two_mode_network)$type #plot(two_mode_network, vertex.size=30, vertex.color=V(affiliation_net)$type) one_mode_networks=bipartite.projection(two_mode_network) one_mode_networks plot(one_mode_networks$proj1) plot(one_mode_networks$proj2, edge.width = E(one_mode_networks$proj2)$weight, edge.label = E(one_mode_networks$proj2)$weight, edge.curved=TRUE) get.adjacency(one_mode_networks$proj1,sparse=FALSE,attr="weight") get.adjacency(one_mode_networks$proj2,sparse=FALSE,attr="weight")

These two scripts look mostly the same — it’s the first few lines that differ. Why do the R scripts for Method #2 and Method #3 look the way they do, and how do they work? To find out, watch this video that walks you through the scripts, explaining them step by step:

The above video works through two examples, the second of which involves corporations from the Fortune 500 *just like* the corporations I’d like you to study in this week’s homework assignment. Of course, I’d like you to work with a different set of corporations from the Fortune 500, but this video should give you an idea of what I’m looking for.

The calculations demonstrated using the above methods would be extremely difficult for you to carry out informally by hand. They are why, if we want to understand social networks of large groups like legislatures in real life, it’s crucial that we have computer programs to handle data-intensive tasks — and the mathematics to tell those computer programs how to do it. Over the next few weeks we’ll talk about real-world applications of social network analysis, and I hope to show you that these applications help people rise to power — and keep power. If knowledge is power, then research is how you get power, and social network research is one of the hottest fields out there right now. If you don’t want to be left on the outside during the power shift social network analysis is bringing, it’s essential for you to know at least a little bit about it. The cost of admission to the game is a bit — just a bit — of math. Keep at it — I hope you agree with me by the end of the semester that it’s been worth it.

## References

Breiger, Ronald L. 1974. “The Duality of Persons and Groups.” *Social Forces* 53(2): 181-190.

Feld, Scott. 1981. “The Focused Organization of Social Ties.” *American Journal of Sociology* 86(5): 1015-1035.

Granovetter, Mark. 1973. “The Strength of Weak Ties.” *American Journal of Sociology* 78: 1360-80.

Tried to jump the gun and do some of the homework (after reading through the reading for the week), and before watching the videos….After watching the two videos I can say that they helped ALOT! I’m glad there were written directions underneath the videos, as well! Sometimes notes aren’t enough!

Glad you found the lecture materials to be helpful!

What was the purpose of the Feld article? What was supposed to be learned? Some points seemed to lack substance. Some seem redundant or common sense. My taking of it was to find patterns in networks, we must look at strength of the tie…?

“Once there is a tie between two individuals, these individuals will tend to find and develop new foci around to organize their joint activity.(1019) What substance is there to prove that?

The ending of the article gives an escape to the theory, if it doesn’t work. So that means there is so much gray area. What is powerful about a theory that has to have so many conditions?

Also, are patterns common sense?

Scorpius,

Hi. Thanks for writing. The idea of the “focus” is the central idea of the transition from 2-mode affiliation with groups, clubs, families and other “foci” to 1-mode ties in a network. So the Feld theoretical piece provides a story about why it is that 2-mode affiliation is important and connected to 1-mode networks.

Did anyone have difficulty getting their person-by-person matrix in a word document? It is just so wide and so long that it exceeds the parameters that a microsoft word page allows. I tried putting in as a picture, etc. but there is so much “de-stretching” that has to be done that it is super tiny in order to fit all on one page, or all of the matrix does not fit.

Hi, Auriga! I hear you! Here’s a tip: insert the matrix into Word. Here’s how: Assuming you have a recent version of Microsoft Office, the command in Word is Insert -> Table -> Excel Spreadsheet. That is, find the “Insert” tab, then click the little down arrow under “Table,” then select the “Excel Spreadsheet” option.

I’m going to send this out as an announcement for everybody, just in case.

Best,

Prof. Cook

Lecture says homework is due Saturday, BB says homework is due Sunday.

I assume we can turn in our matrices and graphs even if there are no shared members?

Scorpius,

Hi! Thanks for noticing the typo. SUNDAY it is for the homework. I’ll fix the typo right now.

On the second item, YES: a matrix and a graph showing no overlap CAN be produced and therefore can be posted. As a matter of fact, sometimes a finding of firm non-connection can be the most interesting to note.

Best,

James

thank you so much