
Читать далее
Заметки о жизни и об исследованиях


> library('sna')> gplot(network)> png('network.png')
> gplot(network)
> dev.off()> help('png')> network=read.table('clipboard')*************************
REM ***** BASIC *****
Sub Main
Dim i As Integer, j As Integer, k As Integer, l As Integer, n As Integer, m As Integer
Dim nodes(1) As String, edges(1,1) As Integer
Dim r As Integer, t As Integer
Dim Doc As Object, Sheet As Object, Cell As Object
Dim str As String, strn(1) As String
Doc=StarDesktop.CurrentComponent
Sheet=Doc.Sheets(0)
Cell=Sheet.getCellByPosition(0,0)
str=Cell.getString
i=0 : r=0
Do While Left(str,1)<>"}"
If Left(str,5)="node:" Then
r=r+1
End If
i=i+1
Cell=Sheet.getCellByPosition(0,i)
str=Cell.getString
Loop
t=i
ReDim nodes(r-1)
ReDim edges(r-1,r-1)
For i=0 to r-1
For j=0 to r-1
edges(i,j)=0
Next j
Next i
j=0
For i=0 To t
Cell=Sheet.getCellByPosition(0,i)
str=Cell.getString
If Left(str,5)="node:" Then
k=InStr(str,chr(34))
l=InStr(k+1,str,chr(34))
nodes(j)=Mid(str,k+1,l-k-1)
j=j+1
End If
Next i
j=0
For i=0 To t
Cell=Sheet.getCellByPosition(0,i)
str=Cell.getString
If Left(str,5)="edge:" Then
k=InStr(str,"source: ")
l=InStr(str,"target: ")
strn(0)=Mid(str,k+9,InStr(k+9,str,chr(34))-k-9)
strn(1)=Mid(str,l+9,InStr(l+9,str,chr(34))-l-9)
For j=0 to r-1
Select Case nodes(j)
Case strn(0): m=j
Case strn(1): n=j
End Select
Next j
edges(m,n)=1
' edges(n,m)=1
End If
Next i
k=0 : l=0
Sheet = Doc.createInstance("com.sun.star.sheet.Spreadsheet")
Doc.Sheets.insertByName("Матрица смежности", Sheet)
Sheet = Doc.Sheets.getByName("Матрица смежности")
For i=0 to r-1
Cell=Sheet.getCellByPosition(i+1,0)
Cell.String = nodes(i)
Cell=Sheet.getCellByPosition(0,i+1)
Cell.String = nodes(i)
Next i
For i=0 to r-1
For j=0 to r-1
Cell=Sheet.getCellByPosition(i+1,j+1)
Cell.Value=edges(i,j)
Next j
Next i
MsgBox "Готово! Автор макроса Александр Остапенко, 2009"
End Sub
*************************edges(n,m)=1>network=read.dot('~/network.dot')





| Регион | Сообщения | Отклики | |||
| посланные (число профайлов) | полученные (число «живых» профайлов) | на первое (по телефону) | на второе (через профайл организации) | личные визиты в организацию | |
| Все регионы | 18864 | 5093 | 63 | 219 | 35 |
| Киев и область | 9175 | 2477 | 31 | 112 | 14 |
| Донецк и область | 1494 | 403 | 6 | 39 | 2 |
| Одесса и область | 1729 | 467 | 5 | 33 | 5 |
| Харьков и область | 1468 | 396 | 21 | 35 | 14 |













| Місто, де мешкають кореспонденти | Надіслано повідомлень всього | Кореспондент повідомлення не прочитав* | Повідомлень проіґноровано | Неґативні відповіді | Позитивні відповіді | Опосередковане спілкування** | Зустріч у реалі* |
| у дужках – відсоток від різниці («всього повідомлень»-«не прочитав») | |||||||
| Донецьк | 47 | 6 | 30 (73) | 2 (5) | 9 (22) | 8 (19.5) | 1 (2.4) |
| Маріуполь | 27 | 7 | 9 (45) | 1 (5) | 10 (50) | 9 (45) | 3 (15) |
| Місто, де мешкають кореспонденти | Надіслано повідомлень всього | Повідомлень проіґноровано | Неґативні відповіді | Позитивні відповіді | Опосередковане спілкування** | Зустріч у реалі*** |
| Донецьк | 8 | 0 | 0 | 8 | 6 | 0 |
| Маріуполь | 2 | 0 | 0 | 2 | 2 | 0 |
| Одеса* | 2 | 0 | 0 | 2 | 1 | 0 |
| «Сколько всего людей фигурирует в Вашей “Телефонной книге”? (если у Вас несколько телефонов, то посчитайте людей во всех)» | М, N = 105 | Ж, N = 47 |
| % | ||
| 0 ÷ 99 | 43 | 30 |
| 100 ÷ 199 | 29 | 45 |
| 200 ÷ 299 | 12 | 15 |
| 300 ÷ 1200 | 17 | 10 |
| «Сколько всего людей фигурирует в Вашей “Телефонной книге”? (если у Вас несколько телефонов, то посчитайте людей во всех)» | гомосексуал, N = 99 | бисексуал, N = 38 | гетеросексуал, N = 15 |
| % | |||
| 0 ÷ 99 | 39 | 29 | 60 |
| 100 ÷ 199 | 36 | 29 | 27 |
| 200 ÷ 299 | 11 | 21 | 7 |
| 300 ÷ 1200 | 13 | 21 | 7 |
| «Вы наверняка знаете с разных (иногда неожиданных) сторон людей, упоминаемых в Вашей “Телефонной книге”. Пожалуйста, посмотрите ещё раз на их имена в Вашем мобильном телефоне и посчитайте, сколько среди них людей (как мужчин, так и женщин), которые вступают в сексуальные контакты с людьми своего пола?» | гомосексуал, N = 99 | бисексуал, N = 38 | гетеросексуал, N = 15 |
| % | |||
| 0 ÷ 4 | 10 | 29 | 93 |
| 5 ÷ 19 | 32 | 24 | 7 |
| 20 ÷ 49 | 28 | 32 | 0 |
| 50 ÷ 199 | 18 | 14 | 0 |
| 200 ÷ 700 | 11 | 3 | 0 |
| Статистика | гомосексуал | бисексуал | гетеросексуал |
| «Вы наверняка знаете с разных (иногда неожиданных) сторон людей, упоминаемых в Вашей “Телефонной книге”. Пожалуйста, посмотрите ещё раз на их имена в Вашем мобильном телефоне и посчитайте, сколько среди них людей (как мужчин, так и женщин), которые вступают в сексуальные контакты с людьми своего пола?» | |||
| Диапазон | 0 ÷ 700 | 1 ÷ 374 | 0 ÷ 12 |
| Среднее | 74 | 34 | 2 |
| Мода | 15 | 10 | 0 |
| % МСМ и ЖСЖ среди тех, кто фигурирует в «Телефонной книге» респондента | гомосексуал, N = 99 | бисексуал, N = 38 | гетеросексуал, N = 15 |
| % | |||
| 0 ÷ 19 | 43 | 71 | 100 |
| 20 ÷ 49 | 34 | 21 | 0 |
| 50 ÷ 100 | 22 | 8 | 0 |
R : Copyright 2001, The R Development Core Team
Version 1.4.0 (2001-12-19)
R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type ‘license()’ or ‘licence()’ for distribution details.
R is a collaborative project with many contributors.
Type ‘contributors()’ for more information.
Type ‘demo()’ for some demos, ‘help()’ for on-line help, or
‘help.start()’ for a HTML browser interface to help.
Type ‘q()’ to quit R.
[Previously saved workspace restored]
> > typos = c(2,3,0,3,1,0,0,1)
> typos
[1] 2 3 0 3 1 0 0 1 > mean(typos)
[1] 1.25 > median(typos)
[1] 1
> var(typos)
[1] 1.642857 > typos.draft1 = c(2,3,0,3,1,0,0,1)
> typos.draft2 = c(0,3,0,3,1,0,0,1) > typos.draft1 = c(2,3,0,3,1,0,0,1)
> typos.draft2 = typos.draft1 # делаем копию
> typos.draft2[1] = 0 # приписываем 0 первому значению > typos.draft2 # вывести значения на экран
[1] 0 3 0 3 1 0 0 1
> typos.draft2[2] # вывести значение под номером два (опечатки на второй странице)
[1] 3
> typos.draft2[4] # значение под номером четыре (опечатки на четвёртой странице)
[1] 3
> typos.draft2[-4] # все, кроме четвёртого
[1] 0 3 0 1 0 0 1
> typos.draft2[c(1,2,3)] # и допустим ещё — первое, второе и третье.
[1] 0 3 0 > max(typos.draft2) # каково самое большое число опечаток на странице?
[1] 3 # 3 опечатки
> typos.draft2 == 3 # Где страницы с тремя опечатками?
[1] FALSE TRUE FALSE TRUE FALSE FALSE FALSE FALSE > which(typos.draft2 == 3)
[1] 2 4 > n = length(typos.draft2) # сколько у нас страниц
> pages = 1:n # сгенерировать вектор, состоящий из последовательных номеров страниц
> pages # показать этот вектор
[1] 1 2 3 4 5 6 7 8
> pages[typos.draft2 == 3] # логическое исключение — чрезвычайно полезная команда
[1] 2 4 > x=1.5:7
> x
[1] 1.5 2.5 3.5 4.5 5.5 6.5 >seq(1.5,7,1) > (1:length(typos.draft2))[typos.draft2 == max(typos.draft2)]
[1] 2 4 > sum(typos.draft2) # Сколько всего опечаток?
[1] 8
> sum(typos.draft2>0) # Сколько страниц с опечатками?
[1] 4
> typos.draft1 - typos.draft2 # Чем отличаются два черновика?
[1] 2 0 0 0 0 0 0 0 > x = c(45,43,46,48,51,46,50,47,46,45)
> mean(x) # среднее
[1] 46.7
> median(x) # медиана
[1] 46
> max(x) # максимум или самое большое значение
[1] 51
> min(x) # минимум или наименьшее значение
[1] 43 > x = c(x,48,49,51,50,49) # присоединить значения к x
> length(x) # какой длины сейчас x (было 10)
[1] 15
> x[16] = 41 # добавить ещё одно значение
> x[17:20] = c(40,38,35,40) # добавить оставшиеся > data.entry(x) # Вызов таблицы для редактирования данных
> x = de(x) # То же самое, но без возможности записи изменений (в режиме «только для чтения»)
> x = edit(x) # Использование редактора для редактирования вектора x. > data.entry(x) # не работает. x не определена.
Error in de(..., Modes = Modes, Names = Names) :
Object "x" not found
> data.entry(x=c(NA)) # работает. x определена. > day = 5;
> mean(x[day:(day+4)])
[1] 48 > day:(day+4)
[1] 5 6 7 8 9 > cummax(x) # running maximum
[1] 45 45 46 48 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51
> cummin(x) # running minimum
[1] 45 43 43 43 43 43 43 43 43 43 43 43 43 43 43 41 40 38 35 35 > whale = c(74,122,235,111,292,111,211,133,156,79)
> mean(whale)
[1] 152.4
> var(whale)
[1] 5113.378
> std(whale)
Error: couldn’t find function "std"
> sqrt(var(whale))
[1] 71.50789
> sqrt(sum((whale - mean(whale))^2 /(length(whale)-1)))
[1] 71.50789 > std = function(x) sqrt(var(x))
> std(whale)
[1] 71.50789 > sd(whale)
[1] 71.50789 > miles = c(65311, 65624, 65908, 66219, 66499, 66821, 67145, 67447)
> x = diff(miles) > sum(commutes>=20) > x = c(1,3,5,7,9)
> y = c(2,3,5,7,11,13) > x = c(1, 8, 2, 6, 3, 8, 5, 5, 5, 5)