Analysis of binary variables I have a data set consisting of about a quarter-million objects, each of which may have any of 30 particular features. So I might have
Object 1: feature 3, feature 7
Object 2: feature 3, feature 29, feature 30
Object 3: feature 3, feature 7
Object 4: feature 1, feature 18, feature 20, feature 28
...
At this point I'm just doing exploratory analysis. I'm interested in seeing how the different features relate: does 29 always appear with 30? Does feature 7 often occur with feature 3? Can feature 10 be predicted from features 1, 2, and 3? Etc.
What types of analysis are appropriate here? The problem is different from others I have worked on in the past because the state space is both small (each object 'holds' merely 30 bits of easily-compressible information) but paradoxically also large ($30 \choose 2$ is already too large to readily present, so even pairwise interactions are hard to study, and $30 \choose 3$ is much too large).
My immediate thought is something that would identify which pairs, triples, quadruples, etc. have 'interesting' interactions, even though examining them individually is infeasible. But perhaps there are more interesting things to do?
Basic references may be appropriate here (and would be appreciated if relevant).
 A: Pairwise may be too large to present, but it's certainly not too large to explore. You could make a 30x29 table and have each cell be the number of cases where both are present. Then you can look. You might even do this for 3 way by looking at 27 such tables. See if you find anything interesting. Depending on how the frequency of data pairing, you might ease the visualization of a table by using colors. 
In some cases you say "occur with" and in some you say "predict". If you have hypotheses about prediction you could use logistic regression.
Another purely exploratory idea is to run 30 logistic regressions, each predicting one variable from the other 29. The idea here wouldn't necessarily be to use the models as models, but to use them as tools. Just find big regression coefficients for exploration.
Yet another idea is to create a new variable equal to $\text{var30}*2^{30} + \text{var29}*2^{29} +  \dots $ then find which combinations occur most frequently. 
Yet another idea is to do cluster analysis on the binary data. 
(that should give you some things to explore!)
A: OP describes categorical data and should use approaches from that domain. I highly recommend the netCoin package in R. https://cran.r-project.org/web/packages/netCoin/vignettes/netCoin.html It will check for coincidences using Haberman. By coincidences and co-occurrence here mean two features occurring on the same objects far more than chance. Haberman accounts for number of times each feature occurs and total number of objects but I think not for some objects having more features.Then netcoin will plot an interactive network graph with edges representing high coincidences. If you wish to compare objects instead of features just transpose the dataset. To test interactions (features 1, 2, 3, predict feature 10) user will have to create the columns themselves, such as multiplying the True False version of each feature. Alternatively vcd, Visualizing Categorical Data, could help. https://cran.r-project.org/web/packages/vcd/vignettes/strucplot.pdf . Features 1,2,3 predicting feature 10 is called conditional probability. Finally OP could try to predict each column using machine learning classification models and then trying to explain those models via packages like DALEX.
