ucinet数据集格式
Datasets數據集下載
http://archive.ics.uci.edu/ml/datasets.html
在ucinet6數據組中有三件重要的事需要記住。
第一,數據是矩陣的集合。不管你把你的數據理解為圖像,關系、超圖還是其他的,在ucinet6中,你的數據就是矩陣集合。這并不是意味著ucinet不能讀取不是矩陣格式的數據,而是說在程序系統中,他們都是被看作為矩陣的。網絡分析人員一般把他們的數據理解為圖,圖就是一系列的節點和一系列連接這些點的線。圖的信息可以用鄰接矩陣表示,在鄰接矩陣中給定元素X(i,j)的值為1代表節點i和j是連接著的,0代表這兩者不是連接著的。
以下是用矩陣代表網絡的一個示例:
在這個網絡中,參與者A和參與者B,D和E有聯系,但和C以及他自己沒有聯系。參與者B和參與者A,C有聯系,參與者C和參與者B,E有聯系,參與者D只和A有聯系,參與者E和參與者A,C有聯系。
有向圖是一系列點和連接這些點的圓弧(或者是箭頭、有頭尾的線)的集合。他們被用來表示節點間的不必是相互的關系,比如“愛上”或者“是……的老板”。有向圖中的信息可以被記錄為單模鄰接矩陣(并不必須是對稱的),在其中,如果i被連接到j則X(i,j)=1,否則X(i,j)=0.注意X(i,j)可以等于X(j,i),但這不是必須得。
賦值圖可以用一個長方形單模矩陣表示,在其中X(i,j)給出了從i到j的連接的值,可以代表關系的強度,道路的長度,狀態轉換的可能性,聯系的頻繁性等。
超圖是一系列節點的子集的集合。子集在概念上就像可能有兩個末端的邊界/連接。在超圖可以用2模矩陣表示,在其中,假如i在子網j中,則Y(i,j)=1,否則Y(i,j)=0.。Ucinet中包含的矩陣可以有任何形狀或者尺寸,而且并非都代表網絡。比如,以下三個數字集合就都是矩陣。
Matrix#1: 1 3 2 5 1 5 7 2 1 2 7 2 2 4 5 2 9 6 5 1 Matrix#2: 1 3 8 9 2 3 5 1.7 Matrix#3: 3.1415
?
注意第二個矩陣有8列1行。第3個矩陣是1行1列。古怪的形狀并不是問題。重要的是每一行包括了同樣數目的列數,反之亦然。
Ucinet數據表的一個重要特征是他們可能包括了一個以上的矩陣,雖然每個矩陣的行列必然反映同一個物體。這使得你可以把一系列有關的網絡數據放在同一個文件中。比如,你可能有一系列的家庭作為節點,并如此度量家庭間的關系:“嫁給了……中的一人”和“與……中的一人做生意”。這對于應用有一個或多個社會關系作為輸入的網絡技術非有用,比如大部分的位置方法(positionalmethods),(比如CONCOR,REGE).甚至把多種關系應用在沒有多種關系的技術里面也會很有用,比如中心法(centralitymeasures)。在ucinet中,無論什么時候有可能,一個引入使用多關系
無效的技術的程序會基于每種關系挨個運行。比如在包含數百個隨機網絡的數據組中運行中心法時,程序會為文件中的每個網絡計算和保存方法。結果可用于統計分析。
使用多矩陣數據組的另一種方法被引入到Tools>MatrixAlgebra(矩陣代數學)程序中。在此,程序把多矩陣數據組視為單個由行列級組成的3路矩陣,并允許用戶同時在三個維度運行操作。
第二件重要的事情是理解ucinet數據組并不是文本文件。因此你不能使用文字處理軟件來修改。只有ucinet(以及其他來自于AnalyticTechnologies的軟件)可以讀寫他們。這會有所不便,但是這可以提升性能。當然,ucinet也提供了把文本文件轉換為ucinet數據組的方法(參見Import命令),反之亦然(參見Export)。在這個方面ucinet和SYSTAT,SAS,SPSS,GRADAP以及其他致命的分析軟件想象。
第三件重要的事是單個ucinet數據組實際上由兩個文件組成。一個(后綴名為.##D)包括了實際數據,另一個(后綴名.##H)包含了數據的信息。當參考ucinet數據組的時候,你只能參考##H文件(或者同時只是忽略后綴名)。你應該正確使用文件名:像“sampson”或“sampson.##h”。文件名中可以包括空格,可以數字符號打頭。然而,有時候你需要使用括號擴住有空格的文件名。UCINETIV 數據組在ucinet6.0中兼容并且無需轉換。
導入數據
在使用ucinet做任何分析之前,必須先創建ucinet數據組。典型地,網絡數據從問卷調查中或者書籍和采訪中的數據表中來。在這兩種情況下材料載體是紙張,你需要將對應數據輸入到計算機文件中。最好最通用的方法是使用文件編輯器或者你喜歡的文字處理軟件把數據保存為ASCII文件。
在本章中將會介紹輸入數據的幾種格式。一旦數據保存在了計算機磁盤中,你可以使用Data>Import/Export>Import命令來將這些數據裝換為ucinet6.0的數據組。使用過SYSTAT等統計軟件的用戶對這一部肯定不陌生。在SYSTAT中,你可以使用DATA命令來讀取ASCII文件、創建SYSTAT系統文件,讀取SPSS和SAS程序文件,雖然他們不需要像SYSTAT和UCINET6.0一樣需要永久的系統文件。
Import可以處理許多格式的ASCII數據。最普遍RAW,DL,EXCEL和UCINET3.0(ucinet6.0和UCINETIV 使用相同的數據格式所以不需要導入)。RAW文件只包含數字,比如一個由問題答案數字編碼組成的變量矩陣。DL文件包括了和RAW一樣的文件,另外還包括了數據的信息,比如行列的數目,變量的名字,研究的名字,以及其他。Ucinet3文件與DL文件相似,但是在數據信息方面有更多的限制。EXCEL則是標準的EXCEL數據表文件,這些文件格式將會在下面的部分詳細討論。
如果你通過抓取輸入數據,我們強烈建議你是用DL格式(你可以在任何時候通過Export把數據輸出為其他格式。)這種格式在接受數據方面是最可靠的。
無論你導入的文件格式是怎樣的,輸出總是一樣的:即一個可以被應用于任何數值程序輸入的ucinet6.0數據組。但是,必須注意,在保存數據方面你只有幾種選擇:Byte(字節),Smallint(短整型),和Real(實數). 當從ASCII文件中導入數據時,可以選擇三種之一。除非你有很大的數據量,否則默認的Real(實數)應該是最好的選擇。
Real(實數)數據格式是最強大的,可以包括從-1E36t到+1E36當中的值,他們也能包含缺失值,這些值在內部被存為1E38.,Real型的缺點是每個值需要4個字節存儲,這會使得文件偏大,比如,一個150*150的矩陣需要176kb的磁盤空間(譯者說,現在看來好小)。
Smallint(短整型)的每個值需要兩個字節的存儲空間,但只能代表從-32000到+32000之間的數,不允許缺失值。
Byte(比特)型是最節省的,每個值只需要1個字節,可以表示0到255之間的數,沒有缺失值。
如果你需要缺失值,則必須使用Real型,當然,大部分網絡分析技術不允許缺失值,只有少數ucinet子程序知道如何處理他們,不支持缺失值的程序自動把其轉化為0或者其他合理值。
在選擇數據型的時候,了解選型對存儲空間的影響很重要,但是這對程序處理時所需要的內存空間并沒有影響。不管數據時如何存儲在磁盤中的,類似于MIDS之類的用來處理Real型數值的程序都是將其看做Real型。類似的,像Clique之類只處理整數的程序會在讀入內存中時自動將Real型的數據轉換為整數。關于缺失值需要注意一點:所有的大于1E37的值都被認為是缺失值,包括在ASCII數據文件中的非數字符號,比如,以下的矩陣中存在3個缺失值(1E38/na/a3??):
?
與SYSTAT不同,ucinet6.0把一個單獨的句號(loneperiod)看做0,而不是缺失,如果你要導入包含了缺失值的SYSTAT數據,你應該用文本編輯器改變所有的單獨句號,比如使用'NA'.
3.1RawFiletype
Raw文件全都由數字構成,以矩陣形式輸入。以下就是一個raw文件的例子:0 1 1 0 1 0 1 1 1 1 0 0 0 1 0 0
程序通過讀取第一行有幾個數來確定有幾列,通過計數來確定有多少行。雖然這種文件很方便,但我們并不推薦使用,一個原因是電腦不會檢查數據。如果第一行正好丟失了一個數字,程序就讀不懂這個文件了,程序會認定該文件中的矩陣列數比實際列數少1,另一個原因是在數據文件中你不能把矩陣中的一行的數據擴散為多個記錄。而且,你沒法使用標簽來辨別節點。
3.2ExcelFiletype
目前ucinet支持的excel版本是4.0,5.0和7.0(office97)(這個東東是指導手冊上說的,實際操作……)。如果你想使用其他版本的excel,那你必須在保存數據(SAVEAS)時將他們保存為支持的格式。注意excel最多只支持255列,所以不能被用來建立大型的網絡數據表。3.3DLFiletype
典型的DL文件由一系列的數字以及一系列的描述數據的關鍵詞,這些關鍵詞被稱為meta-data。當然,DL文件也可以只有meta-data和一個指向存儲實際數據所在文件的指針。3.4FullMatrixFormat全矩陣
一個有四個參與者的DL文件如下:dl n=4format=fullmatrix data: 0 1 1 0 1 0 1 1 1 1 0 0 0 1 0 0
關鍵詞“dl”說明這是DL文件類型,必須是文件的第一個詞。“n=4”意即矩陣是4行4列,等號也可以換為空格或者逗號,形如"n=4","n 4","n,4"。"format=fullmatrix" 說明數據是以一個普通的矩陣格式輸入的(這個值還可以使linkedlist,lowerhalfmatrix等)。因為默認的就是fullmatrix,所以這一短句可以省略。
“data”已經沒有其他關于數據的信息了,以下的就是數據。關鍵詞的順序是很重要的,如果是"dl data: n=4",整個過程就毀了。雖然我們加入了一些其他關鍵詞,但是我們始終要保證dl放在第一位,然后是與矩陣維度有關的關鍵句,然后是其他關鍵詞句,最后是"data"。
標點的注意事項:一般情況下,冒號表示后面有內容,比如數據集合或者標簽集合。
分號或者回車表示短句的結束。
每個數據值之間必須用一個以上的空格或者回車符號間隔開。所有的非數字值,除了單獨的句號‘.’(loneperiods),都被認為是缺失值。數據格式中行列不需要相等,只要所有的值按從左到右,從上到下的順序排列就行,示例如下:
?
3.5RectangularMatrices
長方形矩陣可以參照下面輸入dl nr=6,nc=4 data: 0 1 1 0 1 0 1 1 1 1 0 0 0 1 0 0 1 0 1 1 1 1 0 0
"nr=6"說明矩陣有6行,"nc=4"說明矩陣有4列
3.6Labels
DL文件可能也包含參與者標簽,比如:dl n=4 labels: Sanders,Skvoretz,S.Smith,T.Smith data: 0 1 1 0 1 0 1 1 1 1 0 0 0 1 0 0
"labels:"表示以下四項是行列標簽,標簽名至多可有18個字符(當longlabels 選項為off的情況下)或者255個字符(當longlabels選項為on的時候),標簽名可以由空格,逗號或者回車(或者兩者一起使用)來分開。標簽內不能存在空格,除非你用引號將其包住,比如"Tom Smith"。
"lable"這個詞之后必須跟有冒號。
標簽可以被分開為行標和列標,事實上,當矩陣不是方形的時候這是必須的,比如:
dl nr=6,nc=4 col labels: hook,canyon,silence,rosencrantz data: 0 1 1 0 1 0 1 1 1 1 0 0 0 1 0 0 1 0 1 1 1 1 0 0
另一種輸入標簽的方法是將其當做數據矩陣的一部分:
dl nr=6,nc=4 row label sembedded col label sembedded data:Dian Norm Coach Sam Mon 0 1 1 0 Tue 1 0 1 1 Wed 1 1 0 0 Thu 0 1 0 0 Fri 1 0 1 1 Sat 1 1 0 0
"row labels embedded" 和"column labels embedded" 說明行標和列標都嵌入在數據中,也可以簡單用"labels embedded" 來表示行列表企鵝都在數據中。
3.7MultipleMatrices
有時在一個數據文件中存放幾個相關的矩陣會比較方便。比如,我們可以度量給定的一系列參與者的多種社會關系,以下展示如何操作:d ln = 4, nm = 2 labels: GroupA,GroupB,GroupC,GroupD matrix labels: Marriage,Business data: 0 1 0 1 1 0 0 0 0 0 1 0 1 0 0 1 0 1 1 1 1 0 0 0 1 0 0 1 1 0 1 0
"nm=2" 說明文件中包含了兩個矩陣。"matrix labels:"說明下兩個詞("marriage" 和"business")是每個矩陣的標簽,大致說明了每個矩陣度量的社會聯系。
3.8ExternalDataFile
有時將數據從DL的描述文件中分開出來會顯得方便,這可以使得其他程序也可以讀取數據文件(比如SYSTAT,STRUCTURE,和NEGOPY)以及ucinet,以下是示例: dl n=16 labels: ACCIAIUOL,ALBIZZI,BARBADORI,BISCHERI,CASTELLAN,GINORI GUADAGNI,LAMBERTES,MEDICI,PAZZI,PERUZZI,PUCCI,RIDOLFI, SALVIATI,STROZZI,TORNABUON datafile C:\DATA\PADGM.DAT"datafile=c:\data\padgm.dat"說明了包含實際數據的文件,該文件只能包含數據。使用datafile命令的缺點在于必須跟蹤眾多的文件。
當使用一個單獨的數據文件時,ucinet檢查第一行,查看是否存在NEGOPY和STRUCTURE等所要求的FORTRAN格式聲明。假如存在,ucinet將從第二行開始讀取,否則,就從第一行開始讀取,這使得你可以在使用STRUCTURE和NEGOPY文件時中途改換為ucinet文件,只需確保文件中的每個值之間都有一個以上的空格。
3.9DiagonalAbsent
默認情況下,程序認為數據有一整個完整的矩陣組成,技術上我們稱之為"full matrixformat" ,可以通過如下所示方法明確之:dl n=4 format=fullmatrix data: 0 1 1 0 1 0 1 1 1 1 0 0 0 1 0 0
在方形矩陣的情況下,省略一些值有時候顯得更為方便,比如,可以省略掉對角線。
dl n=4 diagonal=absent labels: Sanders,Skvoretz S.Smith,T.Smith data:1 1 0 1 1 1 1 1 0 0 1 0
程序會自動以缺失值編碼填入空缺的位置中。
3.10LowerhalfandUpperhalfMatrices
一種做法是只輸入對稱矩陣的下半部分: d ln=4 format=lowerhalf diagonal=absent labels: Sanders,Skvoretz S.Smith,T.Smith data: 1 1 1 0 1 0Ucinet會自動把上半部分補齊,并以缺失值填入對角線。同樣,也可以輸入對癥矩陣的上半部分以關鍵詞"upperhalf" 代替"lowerhalf"即可。注意如果"diagonal absent" 語句被省略了,程序展示出缺失值(expect a diagonal value tobe present.)
d ln=4
format=lowerhalf
labels:
Sanders,Skvoretz
S.Smith,T.Smith
data:
2
1 2
1 1 2
0 1 0 2
3.11BlockmatrixFormat
另一種在建立模型矩陣時很有用的格式是“blockmatrix”(分塊矩陣)。在這種格式中,你可以輸入方向來創建數據而不是逐一輸入。比如要輸入如下矩陣:
2 1 1 1 1 0 0 0 0 0 1 2 1 1 1 0 0 0 0 0 1 1 2 1 1 0 0 0 0 0 1 1 1 2 1 0 0 0 0 0 1 1 1 1 2 0 0 0 0 0 0 0 0 0 0 2 1 1 1 1 0 0 0 0 0 1 2 1 1 1 0 0 0 0 0 1 1 2 1 1 0 0 0 0 0 1 1 1 2 1 0 0 0 0 0 1 1 1 1 2
使用blockmatrix格式你可以這樣創建:
dl n = 10 format=blockmatrix data: rows 1 to 10 cols 1 to 10 value = 0 rows 1 to 5 cols 1 to 5 value = 1 rows 5 6 7 8 9 10 cols 5 to 10 value = 1 diagonal 0 value = 2
在blockmatrix格式中,你區分出一系列單元,并給他們賦值。在示例中,前三行語句給所有單元賦0,次三行(忽略空格)給左上角的矩陣賦值為1,再后三行作用類似,
最后兩行將主對角線上的所有值賦為2.考慮一下另一個矩陣:
100 0 0 0 0 0 90 100 0 0 0 0 80 90 100 0 0 0 70 80 90 100 0 0 60 70 80 90 100 0 50 60 70 80 90 100
根據如下示例用blockmatrix格式輸入這個矩陣:
dl n=10 format=blockmatrix data: rows all cols all value 0 diag 0 val = 100 diag -1 val =90 diag -2 val=80 d -3 v = 70 d -4 v = 60 d -5 v = 50
3.12LinkedListFormats
網絡分析中的一系列重要格式就是被稱為linkedlist (鏈表)的格式,這種格式中參與者只保留數據之間實際發生的聯系,忽略那些不發生的聯系,這些格式的特別之處在于接受字符型數據。There are two basic types of linked list formats: "nodelists"and"edgelists".Each of these?types in turn has two variants,one for 1-mode data and one for 2-modedata.Only the?edgelists allow valued data.有兩種基本的鏈表格式類型:"nodelists" (節點列表)and"edgelists"(邊界列表)。這兩種類型各有兩種變式,一種用于單模數據,另一種用于2模數據,只有"edgelists"允許賦值數據。
總結
以上是生活随笔為你收集整理的ucinet数据集格式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: vue路由传参两种方式;vue路由传参q
- 下一篇: bootstrap评分插件 Bootst