LW survey: Effective Altruists and donations

Anal­y­sis of 2013-2014 LessWrong sur­vey re­sults on how much more self-iden­ti­fied EAers donate

http://​​www.gw­ern.net/​​EA%20donations

• The graphs would be more read­able if the log1p trans­for­ma­tion ap­plied to the co­or­di­nates, but not to the la­bels.

`qplot(Age,Char­ity,color=Effec­tiveAltru­ism,data=sur­vey)+geom_point(size=I(3))+co­ord_trans(y=”log1p”)`

Un­for­tu­nately the choice of la­bels is not great.

• Thanks, I didn’t know gg­plot2 had a fea­ture like that. Some more googling re­veals you can over­ride the ticks on the axis by spec­i­fy­ing your own break­points on the y-axis, so one can write:

``````qplot(Age, Char­ity, color=Effec­tiveAltru­ism, data=sur­vey) +
geom_point(size=I(3)) +
scale_y_con­tin­u­ous(breaks=round(exp(1:10))) + co­ord_trans(y=”log1p”)
``````

which yields more la­bels for the lower range of dona­tions:

• Given that at least 25% of re­spon­dents listed \$0 in char­ity, the offset you add to the char­ity (\$1 if I un­der­stand `log1p` cor­rectly) seems like it could have a large effect on your con­clu­sions. You may want to do some sen­si­tivity checks by rais­ing the offset to, say, \$10 or \$100 or some­thing else where a re­spon­dent might round their giv­ing down to \$0 and see if any­thing changes.

• Gw­ern has a point that it’s pretty triv­ial to run this ro­bust­ness check your­self if you’re wor­ried. I ran it. Chang­ing the \$1 to \$100 re­duces the co­effi­cient of EA from about 1.8 to 1.0 (1.3 sigma), and mov­ing to \$1000 re­duces it from 1.0 to 0.5 (about two sigma). The co­effi­cient re­mains highly sig­nifi­cant in all cases, and in fact be­comes more sig­nifi­cant with the higher con­stant in the log.

• I don’t see why adding +1 to all re­sponses would make any differ­ence to any of the com­par­i­sons; it shifts all dat­a­points equally. (And any­way, `log1p(0) ~> 0`. The point of us­ing log1p is sim­ply to avoid `log(0)` ~> -Inf`.)

• It shifts all dat­a­points equally in the dol­lar do­main, but not in the log do­main (hence let­ting you get rid of the -in­finity). Of course it still pre­serves or­der­ings, but it’s a non-lin­ear trans­for­ma­tion of the y-axis.

I’d sup­port this sen­si­tivity check, or if just us­ing one value would pre­fer a larger offset.

(Same caveat: I might have mi­s­un­der­stood log1p)

• It’s a non­lin­ear trans­for­ma­tion to turn non­lin­ear to­tals back into some­thing which is lin­ear, and it does so very well, as you can see by com­par­ing the log graph with an un­logged graph. Again, I’m not see­ing what the prob­lem here is. What do you think this changes? Order­ing is pre­served, ze­ros are pre­served, and dol­lar amounts be­come lin­ear which avoids a lot of po­ten­tial prob­lems with the usual statis­ti­cal ma­chin­ery.

• By us­ing a slightly differ­ent offset you get a slightly differ­ent non­lin­ear trans­for­ma­tion, and one that may work even bet­ter.

There isn’t a way to make this trans­for­ma­tion with­out a choice. You’ve made a choice by adding \$1 -- it looks kind of canon­i­cal but re­ally it’s based on the size of a dol­lar, which is pretty ar­bi­trary.

For ex­am­ple say in­stead of de­nom­i­nat­ing ev­ery­thing in dol­lars you’d de­nom­i­nated in cents (and added 1 cent be­fore log­ging). Then ev­ery­one would move up the graph by pretty much log(100), ex­cept the peo­ple who gave noth­ing, who would be pul­led fur­ther from the main part of the graph. I think this would make your fit worse.

In a similar way, per­haps you can make the fit bet­ter by de­nom­i­nat­ing ev­ery­one’s dona­tions in hectodol­lars (h\$1 = \$100), or equiv­a­lently by chang­ing the offset to \$100.

We could try to pick the right offset by do­ing a sen­si­tivity anal­y­sis and see­ing what gives us the best fit, or by think­ing about whether there’s a rea­son­able mean­ing to at­tach to the figure. In this case we might think that peo­ple tend to give some­thing back to so­ciety even when they don’t do this ex­plic­itly as char­ity dona­tions, so add on a figure to ac­count for this. My feel­ing is that \$1 is prob­a­bly smaller than op­ti­mal un­der ei­ther in­ter­pre­ta­tion. This would fit with the in­tu­ition that go­ing from donat­ing \$1 to \$9 is likely a smaller deal at a per­sonal level than go­ing from \$199 to \$999 (counted the same in the cur­rent sys­tem).

• By us­ing a slightly differ­ent offset you get a slightly differ­ent non­lin­ear trans­for­ma­tion, and one that may work even bet­ter.

That seems pretty un­likely. There’s always some sub­jec­tivity to the de­tails of cod­ing and trans­for­ma­tions, but what con­stant you add to make logs be­have is not one I have ever seen ma­te­ri­ally change any­one’s anal­y­sis; I don’t think this bikeshed­ding makes a lick of differ­ence. Again, if you think it does make a differ­ence, I have pro­vided all the code and data.

For ex­am­ple say in­stead of de­nom­i­nat­ing ev­ery­thing in dol­lars you’d de­nom­i­nated in cents (and added 1 cent be­fore log­ging). Then ev­ery­one would move up the graph by pretty much log(100), ex­cept the peo­ple who gave noth­ing, who would be pul­led fur­ther from the main part of the graph. I think this would make your fit worse.

Maybe. But would it change any of the con­clu­sions?

In this case we might think that peo­ple tend to give some­thing back to so­ciety even when they don’t do this ex­plic­itly as char­ity dona­tions, so add on a figure to ac­count for this.

...why? One ‘gives back to so­ciety’ just by buy­ing stuff in free mar­kets and by not go­ing out and axe-mur­der­ing peo­ple, does that mean we should credit ev­ery­one as se­cretly be­ing gen­er­ous?

My feel­ing is that \$1 is prob­a­bly smaller than op­ti­mal un­der ei­ther in­ter­pre­ta­tion. This would fit with the in­tu­ition that go­ing from donat­ing \$1 to \$9 is likely a smaller deal at a per­sonal level than go­ing from \$199 to \$999 (counted the same in the cur­rent sys­tem).

Disagree here as well. As you already pointed out, a more in­ter­est­ing prop­erty is the ap­par­ent split be­tween peo­ple who give noth­ing and peo­ple who give some­thing; some­one who gives \$199 is already in the habit and prac­tice of dona­tions just like some­one who is giv­ing \$999, while go­ing from \$1 to \$9 might rep­re­sent a real change in per­sonal propen­sity. (\$1 might be toss­ing a beg­gar a dol­lar bill and that per­son re­ally is not a giver, while \$9 might be an ex­plicit dona­tion through Pay­pal for a fundraiser.)

• Maybe. But would it change any of the con­clu­sions?

It would change the re­gres­sions. I don’t know whether you think that’s an im­por­tant part of the con­clu­sion. It is cer­tainly minor com­pared to the body of the work.

Again, if you think it does make a differ­ence, I have pro­vided all the code and data.

I think this is com­mend­able; un­for­tu­nately I don’t know the lan­guage and while it seemed like it would take a few min­utes to ex­plain the in­sight, it seems like it would be a few hours for me to mug up enough to ex­plore the change to the data.

[...] Disagree here as well.

Happy with that dis­agree­ment: I don’t have very strong sup­port for my guess that a figure higher than \$1 is best. I was just try­ing to ex­plain how you might try to make the choice.

• What do you mean by “dol­lar amounts be­come lin­ear”? I haven’t seen a ran­dom vari­able referred to as “lin­ear” be­fore (on its own, with­out refer­ence to an­other vari­able as in “y is lin­ear in x”).

• The ex­pla­na­tion by owencb is what I was try­ing to ad­dress. To be ex­plicit about when the offset is be­ing added, I’m sug­gest­ing re­plac­ing your `log1p(x) ≣ log(1 + x)` trans­for­ma­tion with `log(c + x)` for `c`=10 or `c`=100.

If the choice of log-dol­lars is just for pre­sen­ta­tion, it doesn’t mat­ter too much. But in a less­wrong-ish con­text, log-dol­lars also have con­no­ta­tions of things like the Kelly crite­rion, where it is taken com­pletely se­ri­ously that there’s more of a differ­ence be­tween \$0 and \$1 than be­tween \$1 and \$3^^^3.

• To be ex­plicit about when the offset is be­ing added, I’m sug­gest­ing re­plac­ing your log1p(x) ≣ log(1 + x) trans­for­ma­tion with log(c + x) for c=10 or c=100.

Which will do what, ex­actly? What does this ac­com­plish? If you think it does some­thing, please ex­plain more clearly, prefer­ably with refer­ences ex­plain­ing why +10 or +100 would make any differ­ence, or even bet­ter, make use of the full data which I have pro­vided you and the anal­y­sis code, which I also pro­vided you, ex­actly so crit­i­cisms could go be­yond vague spec­u­la­tion and pro­duce some­thing firmer.

(If I sound an­noyed, it’s be­cause I spend hours clean­ing up my analy­ses to provide full source code, all the data, and make sure all re­sults can be de­rived from the source code, to deal with this sort of one-liner ob­jec­tion. If I didn’t care, I would just post some co­effi­cients and a graph, and save my­self a hell of a lot of time.)

• Here’s why it mat­ters:

If we add 100 to ev­ery­thing, that trans­for­ma­tion will be sized differ­ently af­ter we take the log. 0s go from -in­finity to +2, a jump of in­finity (...plus 2, to the de­gree that makes any sense); 100s go from 2 to 2.3, a jump of .3. If we added 1 in­stead, 0s would go from in­finity to 0, and 100s would go from 2 to 2.004. If we added .01, 0s would go to −2, and 100s would go to 2.00004.

But what does that do to our trendline? Sup­pose that 40% of EAs gave 0, and 60% of non-EAs gave 0. Then I when I calcu­late the mean differ­ence in log-scale, the ex­tra 20% of non-EAs whose score I can pick with my scal­ing fac­tor is a third of the differ­ing sam­ple. The gulf be­tween the groups (i.e. the differ­ence be­tween the trendlines) will be smaller if I choose 100 than if I choose 0.01. (I can’t pick a fac­tor that makes the groups switch which one donated more—that’s the or­der preser­va­tion prop­erty—but if I add a trillion to all of dona­tions, the differ­ence be­tween the groups will be­come in­visi­ble be­cause both groups will look like a flat line, and if I add a trillionth to all of the dona­tions, it’ll look much more like a graph of per­cent donat­ing.)

And so it seems to me that there are three po­ten­tially in­ter­est­ing com­par­i­sons: per­cent not donat­ing by age for the two groups (it seems likely EA will have less non-donors than non-EA at each age /​ age group), per-per­son and per-donor amounts donated for each age group (not sure about per-donor be­cause of the pre­vi­ous effect, but pre­sum­ably per-per­son amounts are higher), and then the over­all anal­y­sis you did where ei­ther an offset or a di­rect 0->some­thing map­ping is ap­plied so that the two effects can be ag­gre­gated.

(I don’t have R on this com­puter, or I would just gen­er­ate the graphs I would have liked for you to make. Thanks for putting in that effort!)

• It’s alleged that the num­ber of peo­ple donat­ing zero is large, and more gen­er­ally I would ex­pect peo­ple to round off their dona­tion amounts when re­port­ing. Ages are clearly also quan­tized. So there may be lots of points on top of one an­other. Is it easy to jit­ter them in the plot, or some­thing like that, to avoid this source of vi­sual con­fu­sion?

• Just eye­bal­ling the charts with­out any jit­ter, it kinda looks like Effec­tive Altru­ists more of­ten re­port pre­cise dona­tion quan­tities, while non-EAs round things off in stan­dard ways, pro­duc­ing dra­matic or­ange lines per­pen­dicu­lar to the Y axis and more of a cloud for the blues. Not sure what to make of this, even if true.

• Pos­si­bly EAs think about their donat­ing more and are thus more likely to be able to look up the ex­act sums they’ve donated. While non-EAs might be more likely to just donate to some ran­dom thing that seems like a nice enough cause, and then for­get the de­tails.

• If EAs are re­port­ing ac­tual num­bers they’ve looked up and non-EAs are re­port­ing their vague es­ti­mates of how much they might have given, I would ex­pect non-EAs’ figures to be worse over­es­ti­mates than EAs’.

• As Ca­plan would say, so­cial de­sir­a­bil­ity bias seems like an is­sue here. One would not ex­pect peo­ple to pe­nal­ize them­selves in such a self-re­port rather than nudge es­ti­mates up­wards and make them­selves look bet­ter in their own mind.

• Ap­ply `jit­ter()` in­side of `qplot`. Also, trans­parency:

`qplot(jit­ter(Age), jit­ter(Char­i­tyLog,a=0.1), color=Effec­tiveAltru­ism, data=sur­vey,alpha=I(0.5))`

De­fault `jit­ter()` worked great on `Age`, but was neg­ligible on `Char­i­tyLog`.

• A differ­ent (and to my mind im­me­di­ately con­vinc­ing) pre­sen­ta­tion of gw­ern’s data: plot on imgur.

This shows, for each of four age brack­ets and each of two EA-ness-es, a his­togram of re­ported char­i­ta­ble giv­ing. The his­togram bins are di­vided at in­te­ger val­ues of gw­ern’s “Char­i­tyLog” (so the first one is peo­ple who gave 0, then ex­po­nen­tially in­creas­ing dona­tions for suc­ces­sive bins). The age brack­ets are <20, 20-30, 30-40, 40-70. I ex­cluded rows for which Char­i­tyLog, Age or Effec­tiveAltru­ism wasn’t defined, or for whom the age was 70.

In all four age ranges, (1) the self-re­ported EAs were less likely to re­port giv­ing noth­ing and (2) the self-re­ported EAs’ his­togram was sub­stan­tially right­ward of the self-re­ported non-EAs’.

I haven’t at­tempted any sort of for­mal anal­y­sis (sig­nifi­cance tests, etc.) on this, be­cause gw­ern already did some and be­cause it’s im­me­di­ately ob­vi­ous from the graphs (plus the fact that the num­bers aren’t tiny) that the differ­ence here is sig­nifi­cant and not small.

(Tiny caveat to last claim: one might, if des­per­ate, seize upon the fact that in the youngest age group the sin­gle largest re­ported dona­tion was from a non-EA and sug­gest that the right tail of the dis­tri­bu­tion might be fat­ter for non-EAs, which could make them more gen­er­ous over­all. Maaaybe. If any­one thinks that hy­poth­e­sis worth tak­ing se­ri­ously, they’re free to analyse the data and see what they find. I know which way I’d bet.)

R code (note: I have no idea what I’m do­ing):

``````sur­vey\$fAge=cut(sur­vey\$Age,c(20,30,40,70))
gg­plot(sub­set(sur­vey,!is.na(Char­i­tyLog) & !is.na(Effec­tiveAltru­ism) & !is.na(fAge)), aes(x=cut(Char­i­tyLog,c(-1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15)))) + geom_his­togram(aes(y=..count../​tap­ply(..count..,..PANEL..,sum)[..PANEL..])) + facet_grid(Effec­tiveAltru­ism~fAge)
``````

[EDITED to add: oh, I see I can em­bed an image in a com­ment. Here we go:]

• I re­mark that this shows that for none of these com­bi­na­tions of age and EA-ness was the me­dian re­ported dona­tion zero, which is hard to square with su3su2su1′s claim. (Per­haps there are more ze­ros among peo­ple whose age and/​or EA-ness couldn’t be de­ter­mined? Per­haps “didn’t say” is be­ing counted as “zero” in some con­texts? Or, though I hes­i­tate to sug­gest such things, per­haps su3su2su1 said some­thing in­cor­rect?)

• I’m not sure where su3su2su1 got his me­dian num­ber of 0; Yvain’s 2014 and 2013 sur­vey write­ups never looked at dona­tions split by EA, IIRC, so I as­sume he must’ve got­ten it from some­where else, maybe his own work, in which case per­haps it was a cod­ing er­ror or his tool made ques­tion­able choices like treat­ing NAs as 0s or some­thing like that.

• I don’t think su3su2su1 made any claim in­volv­ing dona­tions split by EA-ness; wasn’t it just that the me­dian dona­tion re­ported in the LW sur­vey[1] (as a whole) was zero? (The un­der­ly­ing as­sump­tion pre­sum­ably be­ing that LW is a Wretched Hive of Scum and Effec­tive Altru­ism, so that if LW users gen­er­ally aren’t gen­er­ous then EAs must like­wise not be gen­er­ous.)

[1] Which LW sur­vey? No idea, of course. It seems fairly clear that su3su2su1 was pri­ori­tiz­ing for rhetor­i­cal effect over ac­cu­rate anal­y­sis any­way.

• I don’t think su3su2su1 made any claim in­volv­ing dona­tions split by EA-ness

Of course he did. It’s liter­ally the first line of my post:

the me­dian char­i­ta­ble dona­tion for an EA in the Less Wrong sur­vey was 0.

• In­ter­est­ing. I would prob­a­bly in­tro­duce a new boolean vari­able GaveSome­thing /​ GaveZero and look at the sub­sets sep­a­rately. All the ze­ros are screw­ing up the dis­tri­bu­tions and so, model fits.

For the GaveZero sub­set you can’t do much more than count, but the GaveSome­thing sub­set should me more well-be­haved and eas­ier to analyse.

• It’s mostly the non-EAers who give \$0, it seems. Re­mov­ing those dat­a­points would diminish the differ­ence be­tween groups and make EAers look worse than they are—we care about how much to­tal was given, not a ran­dom di­chotomiza­tion like \$0 vs non-\$0.

• I don’t know what we care about. You pro­vided, ba­si­cally, an ex­plo­ra­tory data anal­y­sis, but I don’t see a spe­cific, well-defined ques­tion that you’re try­ing to an­swer.

And, of course, \$0 vs non-\$0 is not en­tirely ran­dom :-) I’m not ar­gu­ing for “re­mov­ing” dat­a­points, I’m ar­gu­ing for some­thing like a hi­er­ar­chi­cal model which won’t give you as sin­gle num­ber as “the an­swer” but will provide bet­ter un­der­stand­ing.

• I don’t see a spe­cific, well-defined ques­tion that you’re try­ing to an­swer.

su3su2u1 has ac­cused EAers of hypocrisy in not donat­ing de­spite a moral philos­o­phy cen­ter­ing around donat­ing; hypocrisy is about ac­tions in­con­sis­tent with one’s own claimed be­liefs, and on EA’s own ag­grega­tive util­i­tar­ian premises, to­tal dol­lars donated are what mat­ter, not any­thing about the dis­tri­bu­tion of dol­lars over peo­ple.

Hence, in in­ves­ti­gat­ing whether EAers are hyp­ocrites, I must be in­ter­ested in to­tals and not in­ter­nal de­tails of how many are ze­ros.

(The to­tals aren’t go­ing to change re­gard­less of whether you model it us­ing mix­ture or hi­er­ar­chi­cal or zero-in­flated dis­tri­bu­tions; and as the dis­tri­bu­tion-free tests say, the EAers do re­port higher me­dian dona­tions.)

• on EA’s own ag­grega­tive util­i­tar­ian premises, to­tal dol­lars donated are what mat­ter, not any­thing about the dis­tri­bu­tion of dol­lars over peo­ple.

This is a pretty nar­row con­cep­tion of EA. You can be an EA with­out earn­ing to give. For ex­am­ple, you could care­fully choose a ca­reer where you di­rectly do good, you could work in ad­vo­cacy, or you could be a stu­dent gain­ing ca­reer cap­i­tal for later us­age.

• I’m with Lu­mifer on this: even though what EAists are sup­posed to care about is ba­si­cally to­tal money given (as­sum­ing it’s given as effec­tively as pos­si­ble), that doesn’t mean that hypocrisy of EAists is a func­tion of to­tal money given.

Hav­ing said that, just eye­bal­ling the data seems suffi­cient to demon­strate that EAists are (at least ac­cord­ing to self-re­port) more gen­er­ous than non-EAists in this pop­u­la­tion, and I bet any halfway rea­son­able anal­y­sis will yield the same con­clu­sion.

• to­tal dol­lars donated are what mat­ter, not any­thing about the dis­tri­bu­tion of dol­lars over peo­ple.

Really? Un­der this ap­proach a hun­dred EAers where 99 donate zero and one donates \$1m suffer from less hypocrisy than a hun­dred EAers each of which donates \$100.

And if only to­tal dol­lars mat­ter, then there is no need for all that statis­ti­cal ma­chin­ery, just sum the dol­lars up. “Me­dian dona­tions”, in par­tic­u­lar, mean noth­ing.

I think you’re mis­taken about to­tal dol­lars. If I were cu­ri­ous about the hypocrisy of EA peo­ple, I would look at the per­centage which donates noth­ing, and for the rest I would look at the per­centage of in­come they donate (pos­si­bly es­ti­mated con­di­tional on var­i­ous rele­vant fac­tors like age) and see how it’s differ­ent from a com­pa­rable non-EA group.

• Really? Un­der this ap­proach a hun­dred EAers where 99 donate zero and one donates \$1m suffer from less hypocrisy than a hun­dred EAers each of which donates \$100.

Yes. If EA man­ages to get \$1m in dona­tions rather than \$10k, then MISSION ACCOMPLISHED.

(Of course, in prac­tice we would pre­fer that \$1m to be dis­tributed over all EAers so we could have more con­fi­dence that it wasn’t a fluke—per­haps that mil­lion­aire will get bored of EA next year. I have more con­fi­dence in the OP re­sults be­cause the in­creased dona­tions are broadly dis­tributed over EAers, and the in­crease is ro­bust to out­liers and not driven by a sin­gle dona­tor, as the u-test of me­di­ans in­di­cates. But ul­ti­mately, it’s the to­tal which is the in­trin­sic ter­mi­nal goal, and other stuff is more about in­stru­men­tal prop­er­ties like con­fi­dence.)

And if only to­tal dol­lars mat­ter, then there is no need for all that statis­ti­cal ma­chin­ery, just sum the dol­lars up.

To­tal over all time is what mat­ters, but un­for­tu­nately, ob­ser­va­tions of the fu­ture are not yet available or I would sim­ply in­clude those too… The point of the re­gres­sions is to get an idea of fu­ture to­tals by look­ing at the es­ti­mates for age and in­come. Which in­di­cates that EAs both donate to­tal more now, and will also donate more in the fu­ture as well, con­sis­tent with Scott’s claims. (If, for ex­am­ple, I’d found that EAers were dis­pro­por­tionately old and the es­ti­mated co­effi­cient for EA was ~0 when Age was in­cluded as a vari­able, then that would strongly sug­gest that the fi­nal to­tal dol­lars would not be greater for EAs and so Yvain’s defense would be wrong.)

• MISSION ACCOMPLISHED

There are two en­tirely sep­a­rate ques­tions. (1) Are EAs mostly hyp­ocrites? (2) Does EA lead to more (and more effec­tive) char­i­ta­ble dona­tions? It’s perfectly rea­son­able to care more about #2, but it seems fairly clear that the origi­nal ac­cu­sa­tion was about #1.

• Glanc­ing at the data, it looks like the me­dian EA at sev­eral ages gives 0 as well as the me­dian non-EA. You might want to sep­a­rate the 0 set from ev­ery­thing else and then an­swer two ques­tions:

what per­centage of EAs/​non-EAs donate any money when they give, how much do EAs give, how much do non-EAs give.

I think this makes more sense then what is hap­pen­ing now- the lines don’t seem to fit the data very well.

• Gen­eral ques­tion- does com­bin­ing the 2013 and 2014 sur­vey make sense, given that we ex­pect a lot of over­lap (same peo­ple sur­veyed)?

Also, why treat EA as a la­tent vari­able when it was di­rectly sur­veyed? Shouldn’t we just com­bine by say­ing if you an­swered Yes to an EA ques­tions, you are EA?

• does com­bin­ing the 2013 and 2014 sur­vey make sense, given that we ex­pect a lot of over­lap (same peo­ple sur­veyed)?

Yes, be­cause the sur­veys have (since the 2012 sur­vey, IIRC) asked if you took a pre­vi­ous sur­vey.

So I dropped any­one in the 2014 data who an­swered yes (`s2014 ← sub­set(sur­vey2014, Pre­vi­ousSur­veys!=”Yes”, se­lect=...`); as long as ev­ery­one was hon­est, there should be zero over­lap/​dou­ble-count­ing. I also in­cluded 2013 vs 2014 re­sponse as a co­vari­ate to al­low es­ti­mat­ing some of the het­ero­gene­ity.

Also, why treat EA as a la­tent vari­able when it was di­rectly sur­veyed? Shouldn’t we just com­bine by say­ing if you an­swered Yes to an EA ques­tions, you are EA?

If you an­swer both yes and also claim to go to EA events, aren’t you prob­a­bly more of an EA than some­one who says yes but doesn’t at­tend? In any event, it doesn’t make a differ­ence. I just like us­ing la­tent vari­ables when I can.