Ik volg een vak met Big data en het gebruik ervan, er werd van ons verwacht om verschillende datasets te mergen in een dataset en vervolgens dit te analyseren. Wij hebben gekozen voor Response time van de brandweer van New York en alle variabelen die we wilde hebben, zitten nu in een databestand. We hebben de data in SPSS gemerged gezien de hoeveelheid cases (we analyseren een heel jaar). Ons literatuur onderzoek wees op series van variabelen (indirecte relaties) met response time, daarom willen we een path analysis uitvoeren. SPSS ondersteund dit onvoldoende, vandaar dat we uitwijken naar R.
Voor de path analysis (en het berekenen van de Max likelihood, kijken of het model correct is) heb je een covariance matrix nodig. In R kan je dit makkelijk genereren, althans normaal gesproken.
Ik gebruik de volgende code om de spss file in R te zetten, de cov matrix te maken en aantal cases te definieren.
De matrix S resulteert in een waarschuwing
Heeft iemand een idee hoe ik de NAs eruit kan krijgen?
de structuur van de data is het volgende;
tnx alvast!
Voor de path analysis (en het berekenen van de Max likelihood, kijken of het model correct is) heb je een covariance matrix nodig. In R kan je dit makkelijk genereren, althans normaal gesproken.
Ik gebruik de volgende code om de spss file in R te zetten, de cov matrix te maken en aantal cases te definieren.
code:
1
2
3
4
5
6
7
8
9
10
11
12
| ResponseTimeData = read.spss("file", to.data.frame = TRUE) ### variables that need to be excluded because not necessary myvars <- names(ResponseTimeData) %in% c("Fire_ID","Hour_212223","Borough_5", "Loc_Zipcode", "Structural_Fires") newdata <- ResponseTimeData[!myvars] ### There are some missing data points in a single variable (is this the correct form of putting this?) ResponseFire <- na.omit(newdata) ### items for SEM Num=length(ResponseFire[,1]) S=var(ResponseFire) |
De matrix S resulteert in een waarschuwing
waarvan ik niet zou weten hoe ik die op moet lossen. Een covariance matrix met missing values kan je geen analyse mee uitvoeren...In var(ResponseFire) : NAs introduced by coercion
Heeft iemand een idee hoe ik de NAs eruit kan krijgen?
de structuur van de data is het volgende;
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
| 'data.frame': 10755 obs. of 30 variables: $ Date_weekend : num 1 1 1 1 1 1 0 0 0 0 ... $ Hour_012 : num 0 0 1 0 0 0 0 0 0 0 ... $ Hour_345 : num 0 0 0 1 0 0 0 0 0 0 ... $ Hour_678 : num 1 0 0 0 0 0 0 0 1 0 ... $ Hour_91011 : num 0 1 0 0 0 0 0 0 0 0 ... $ Hour_121314 : num 0 0 0 0 0 1 0 0 0 0 ... $ Hour_151617 : num 0 0 0 0 0 0 0 1 0 1 ... $ Hour_181920 : num 0 0 0 0 1 0 1 0 0 0 ... $ ResponseTime_fire : num 350 56 396 300 321 284 253 238 310 345 ... $ Borough_1 : num 0 0 0 0 0 0 0 0 0 0 ... $ Borough_2 : num 0 0 0 0 0 0 0 0 0 0 ... $ Borough_3 : num 1 1 1 1 1 1 1 1 1 1 ... $ Borough_4 : num 0 0 0 0 0 0 0 0 0 0 ... $ TrafficVolume : num 536 938 817 471 1326 ... $ MedicalEmergencies : num 0 0 1 0 1 1 0 0 0 1 ... $ NonMedicalEmergencies: num 1 1 0 0 0 0 0 1 1 0 ... $ NonStructural_Fires : num 0 0 0 1 0 0 0 0 0 0 ... $ Severity_fire : Factor w/ 8 levels "First Alarm",..: 1 1 1 1 1 1 1 1 1 1 ... $ Mean_Assigned_items : num 1.333 2 0.333 0.333 0.333 ... $ Avg_Height : num 64.4 64.4 64.4 64.4 64.4 ... $ Population : num 2594676 2594676 2594676 2594676 2594676 ... $ Borough_Density : num 14146 14146 14146 14146 14146 ... $ Rain : num 506 506 506 506 2262 ... $ Snow : num 6333 6333 6333 6333 24960 ... $ Windspeed : num 2.34 2.34 2.34 2.34 3 3 2.4 2.4 2.4 2.7 ... $ Temp : num 0.1 0.1 0.1 0.1 1.65 1.65 2.1 2.1 2.1 5 ... $ Thunder : num 0 0 0 0 0 0 0 0 0 0 ... $ Heavy_fog : Factor w/ 2 levels "0","1": 2 2 2 2 1 1 1 1 1 1 ... $ Smoke_Haze : num 1 1 1 1 0 0 0 0 0 1 ... $ Icy_Road : num 0 0 0 0 0 0 0 0 0 0 ... - attr(*, "na.action")= 'omit' Named int [1:446870] 1 2 3 4 5 6 7 8 9 10 ... ..- attr(*, "names")= chr [1:446870] "1" "2" "3" "4" ... |
tnx alvast!