Проблема: превратить список во фрейм / таблицу данных, набор данных, который необходимо будет проанализировать. Список имен также будет одним столбцом.
Список создан из кода ниже. Набор данных должен иметь идентификатор столбца char (он же names(list)
) и еще 16 столбцов (список l
становится строкой). а N строк - это длина (mylist). Я пытался df <- data.frame(matrix(unlist(mylist), nrow=133, byrow=T),stringsAsFactors=FALSE)
. Идентификатор не включен ..
for (i in 1:length(uniq)) {
testd = subset(mySASData,pt_shift_id ==uniq[i])
g = graph_from_data_frame(testd,directed =T, vertices = actors)
l = triad.census(g)
id = as.character(uniq[i])
mylist[[id]]<-l
}
## dput(head(mylist))
list(S1PT00001S1S00004 = c(0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
0, 0, 0, 0), S1PT00004S1S00053 = c(0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0, 0), S1PT00005S1S00046 = c(0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0), S1PT00006S1S00012 = c(0, 0, 0,
0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0), S1PT00006S1S00013 = c(0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0), S1PT00006S1S00018 = c(0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0))
Справочная информация: мне нужно провести перепись триады и построить графики в нескольких сетях, каждая из которых теперь сохраняется как строки данных / подмножество данных (в формате списков кромок) в одной набор исходных данных. Я только начинающий - средний пользователь R. Многое из того, что я описываю, может быть улучшено с точки зрения эффективности и методов. Пожалуйста посоветуй. Спасибо.
Нужны только эти две функции graph_from_data_frame
, triad_census
и plot
из пакетов igraph
. graph_from_data_frame
превращает data.frame в объект графа и подается в triad_census
, а на выходе получается числовой c вектор. plot
это просто график и применяется к графическому объекту.
Мои исходные данные - SAS, когда импортируется int R, это data.frame.
'data.frame': 629 obs. of 3 variables:
$ from : Factor w/ 3 levels "MD","RN","RT": 2 2 3 1 3 3 3 1 1 1 ...
$ to : Factor w/ 4 levels "","MD","RN","RT": 2 4 3 3 2 2 3 3 2 2 ...
$ pt_shift_id: Factor w/ 138 levels "S1PT00001S1S00004",..: 1 1 1 2 2 2 2 3 3 3 ...
structure(list(from = structure(c(2L, 2L, 3L, 1L, 3L, 3L), .Label = c("MD",
"RN", "RT"), class = "factor"), to = structure(c(2L, 4L, 3L,
3L, 2L, 2L), .Label = c("", "MD", "RN", "RT"), class = "factor"),
pt_shift_id = structure(c(1L, 1L, 1L, 2L, 2L, 2L), .Label = c("S1PT00001S1S00004",
"S1PT00004S1S00053", "S1PT00005S1S00046", "S1PT00006S1S00012",
"S1PT00006S1S00013", "S1PT00006S1S00018", "S1PT00008S1S00037",
"S1PT00009S1S00055", "S1PT00011S1S00056", "S1PT00012S1S00002",
"S1PT00015S1S00053", "S1PT00015S1S00055", "S1PT00016S1S00021",
"S1PT00017S1S00047", "S1PT00017S1S00052", "S1PT00018S1S00020",
"S1PT00018S1S00021", "S1PT00018S1S00022", "S1PT00018S1S00025",
"S1PT00018S1S00027", "S1PT00018S1S00031", "S1PT00020S1S00011",
"S1PT00020S1S00012", "S1PT00020S1S00014", "S1PT00020S1S00015",
"S1PT00021S1S00044", "S1PT00022S1S00021", "S1PT00022S1S00023",
"S1PT00022S1S00024", "S1PT00022S1S00025", "S1PT00022S1S00027",
"S1PT00023S1S00019", "S1PT00023S1S00021", "S1PT00023S1S00023",
"S1PT00023S1S00024", "S1PT00023S1S00025", "S1PT00023S1S00026",
"S1PT00023S1S00027", "S1PT00024S1S00002", "S1PT00024S1S00005",
"S1PT00025S1S00010", "S1PT00026S1S00046", "S1PT00026S1S00047",
"S1PT00026S1S00048", "S1PT00026S1S00052", "S1PT00027S1S00055",
"S1PT00027S1S00056", "S1PT00027S1S00060", "S1PT00028S1S00024",
"S1PT00028S1S00025", "S1PT00028S1S00026", "S1PT00028S1S00027",
"S1PT00029S1S00004", "S1PT00029S1S00005", "S1PT00029S1S00009",
"S1PT00030S1S00035", "S1PT00030S1S00037", "S1PT00030S1S00041",
"S1PT00030S1S00042", "S1PT00031S1S00037", "S1PT00031S1S00040",
"S1PT00031S1S00041", "S1PT00031S1S00042", "S1PT00033S1S00048",
"S1PT00033S1S00050", "S1PT00034S1S00028", "S1PT00034S1S00031",
"S1PT00035S1S00053", "S1PT00035S1S00055", "S1PT00036S1S00039",
"S1PT00036S1S00040", "S1PT00036S1S00041", "S1PT00038S1S00047",
"S1PT00038S1S00050", "S1PT00038S1S00051", "S1PT00039S1S00011",
"S1PT00040S1S00011", "S1PT00040S1S00012", "S1PT00040S1S00014",
"S1PT00041S1S00055", "S1PT00041S1S00056", "S1PT00041S1S00058",
"S1PT00042S1S00044", "S1PT00042S1S00049", "S1PT00043S1S00055",
"S1PT00043S1S00056", "S1PT00045S1S00010", "S1PT00045S1S00011",
"S1PT00046S1S00046", "S1PT00047S1S00035", "S1PT00047S1S00037",
"S1PT00047S1S00042", "S1PT00048S1S00035", "S1PT00048S1S00036",
"S1PT00048S1S00037", "S1PT00048S1S00040", "S1PT00048S1S00041",
"S1PT00048S1S00042", "S1PT00049S1S00011", "S1PT00049S1S00012",
"S1PT00050S1S00025", "S1PT00052S1S00005", "S1PT00053S1S00004",
"S1PT00054S1S00004", "S1PT00054S1S00005", "S1PT00054S1S00007",
"S1PT00054S1S00012", "S1PT00054S1S00013", "S1PT00054S1S00016",
"S1PT00054S1S00018", "S1PT00055S1S00011", "S1PT00055S1S00012",
"S1PT00055S1S00015", "S1PT00056S1S00002", "S1PT00057S1S00035",
"S1PT00057S1S00036", "S1PT00057S1S00037", "S1PT00059S1S00020",
"S1PT00059S1S00023", "S1PT00059S1S00025", "S1PT00059S1S00027",
"S1PT00060S1S00028", "S1PT00061S1S00044", "S1PT00063S1S00031",
"S1PT00065S1S00044", "S1PT00067S1S00035", "S1PT00068S1S00037",
"S1PT00068S1S00039", "S1PT00069S1S00055", "S1PT00069S1S00056",
"S1PT00069S1S00058", "S1PT00069S1S00060", "S1PT00070S1S00048",
"S1PT00070S1S00049", "S1PT00070S1S00050", "S1PT00071S1S00057",
"S1PT00071S1S00058", "S1PT00071S1S00059"), class = "factor")), row.names = c(3L,
4L, 5L, 6L, 9L, 11L), class = "data.frame")