I created this dataframe Variable_7101
but I would like to repeat this analysis for multiple variables. To be more specific, I have another dataframe (df) with rows containing the other variables that I would like to analyze.
Variable_7101 <- dcast(data=DATA,
V507 ~ V7101 + V1,
fun.aggregate = length,
value.var = "V7101")
I could repeat manually this code many times.
Variable_7102 <- dcast(data=DATA,
V507 ~ V7102 + V1,
fun.aggregate = length,
value.var = "V7101")
Variable_712 <- dcast(data=DATA,
V507 ~ V712 + V1,
fun.aggregate = length,
value.var = "V7101")
Variable_7200 <- dcast(data=DATA,
V507 ~ V7200 + V1,
fun.aggregate = length,
value.var = "V7101")
However, I do not think this is the best form.
tail(DATA, 10)
CASEID V1 V3 V5 V501 V507 V508 V509 V7101
212324 32864 2016 (4) FORM 4:(4) 0.9275599 <NA> (1) NORTHEAST:(1) (0) ELSE:(0) (1) MSA:(1) (1) NEVER:(1)
V7104 V7105 V7112 V7115 V7118
212324 (1) NO:(1) (1) 0 OCCASIONS:(1) (1) 0 OCCASIONS:(1) (1) 0 OCCASIONS:(1) (1) 0 OCCASIONS:(1)
V7127 V7097 V7133 V7139 V7142 V8451
212324 (1) 0 OCCASIONS:(1) (1) 0 OCCASIONS:(1) (1) 0 OCCASIONS:(1) (1) 0 OCCASIONS:(1) (1) 0 OCCASIONS:(1) <NA>
V7426 V7121 V7124 V7164 V7145 V7109
212324 <NA> (1) 0 OCCASIONS:(1) (1) 0 OCCASIONS:(1) <NA> (1) 0 OCCASIONS:(1) (1) 0 OCCASIONS:(1)
V7152 V7155 V7158 V7161 V7601 V8480
212324 (1) 0 OCCASIONS:(1) (1) 0 OCCASIONS:(1) (1) 0 OCCASIONS:(1) (1) 0 OCCASIONS:(1) <NA> <NA>
V7106 V7113 V7116 V7119 V7128
212324 (1) 0 OCCASIONS:(1) (1) 0 OCCASIONS:(1) (1) 0 OCCASIONS:(1) (1) 0 OCCASIONS:(1) (1) 0 OCCASIONS:(1)
V7098 V7134 V7140 V7143 V8452 V7122
212324 (1) 0 OCCASIONS:(1) (1) 0 OCCASIONS:(1) (1) 0 OCCASIONS:(1) (1) 0 OCCASIONS:(1) <NA> (1) 0 OCCASIONS:(1)
V7125 V7165 V7146 V7110 V7153 V7156
212324 (1) 0 OCCASIONS:(1) <NA> (1) 0 OCCASIONS:(1) (1) 0 OCCASIONS:(1) (1) 0 OCCASIONS:(1) (1) 0 OCCASIONS:(1)
V7159 V7162 V7602 V7488 V7489 V7491 V7492 V8481 V7495 V7554 V7561 V7564 V7566
212324 (1) 0 OCCASIONS:(1) (1) 0 OCCASIONS:(1) <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA>
V7568 V7569 V7567 V7102 V7107 V7114 V7117
212324 <NA> <NA> <NA> (1) NONE:(1) (1) 0 OCCASIONS:(1) (1) 0 OCCASIONS:(1) (1) 0 OCCASIONS:(1)
V7120 V7129 V7099 V7135 V7141
212324 (1) 0 OCCASIONS:(1) (1) 0 OCCASIONS:(1) (1) 0 OCCASIONS:(1) (1) 0 OCCASIONS:(1) (1) 0 OCCASIONS:(1)
V7144 V8453 V7427 V7123 V7126 V7166 V7147
212324 (1) 0 OCCASIONS:(1) <NA> <NA> (1) 0 OCCASIONS:(1) (1) 0 OCCASIONS:(1) <NA> (1) 0 OCCASIONS:(1)
V7111 V7154 V7157 V7160 V7163 V7603
212324 (1) 0 OCCASIONS:(1) (1) 0 OCCASIONS:(1) (1) 0 OCCASIONS:(1) (1) 0 OCCASIONS:(1) (1) 0 OCCASIONS:(1) <NA>
V8482 V7108 V8454 V7442 V7441 V8413 V7443 V7444
212324 <NA> (1) NONE:(1) <NA> (8) NEVER:(8) (8) NEVER:(8) (8) NEVER:(8) (8) NEVER:(8) (8) NEVER:(8)
V7445 V8417 V8418 V8419 V8483 V8421 V7446
212324 (8) NEVER:(8) (8) NEVER:(8) (8) NEVER:(8) (8) NEVER:(8) (8) NEVER:(8) (8) NEVER:(8) (8) NEVER:(8)
V7447 V8424 V8425 V7448 V7449 V8564 V7548 V7103 V7180 V7181 V7475 V7476 V7477
212324 (8) NEVER:(8) (8) NEVER:(8) (8) NEVER:(8) <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA>
V7478 V7479 V7480 V7547 V7549 V7550 V7176 V7587 V7557 V7558 V7559 V7560 V7428 V7432
212324 <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> (1) NONE:(1) (1) NONE:(1)
V7433 V7435 V7430 V7431 V7434 V7429 V7436 V8473 V8474
212324 (1) NONE:(1) (1) NONE:(1) (1) NONE:(1) (1) NONE:(1) (1) NONE:(1) (1) NONE:(1) (1) NONE:(1) <NA> <NA>
V8475 V7437 V7438 V7439 V7440 V7414 V7415 V7416
212324 <NA> (4) A LOT:(4) (4) A LOT:(4) (4) A LOT:(4) (4) A LOT:(4) (8) CANT SAY:(8) (8) CANT SAY:(8) <NA>
V7417 V7494 V7419 V7420 V7421 V7422
212324 (8) CANT SAY:(8) (8) CANT SAY:(8) (8) CANT SAY:(8) (8) CANT SAY:(8) (8) CANT SAY:(8) (8) CANT SAY:(8)
V7423 V7412 V7413 V7490 V7425 V7424 V8544 V8477 V7167 V7168 V7169
212324 <NA> (8) CANT SAY:(8) (8) CANT SAY:(8) <NA> (8) CANT SAY:(8) <NA> (2) NO:(2) <NA> <NA> <NA> <NA>
V7170 V7171 V7172 V7173 V7174 V7175 V7177 V7178 V7179 V7199 V7200 V7185 V7458
212324 <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> (4) DEFINATELY WONT:(4) <NA>
V7186 V7187 V7188 V7184 V7451 V7452 V7453 V7454 V7455
212324 (5) AGREE:(5) (1) DISAGREE:(1) (1) DISAGREE:(1) (5) DEFINATELY WONT:(5) <NA> <NA> <NA> <NA> <NA>
V7456 V7457 V8441 V8442 V8443 V8444 V8445 V8446 V8447 V8476 V8540 V8541 V8542 V7481 V7183 V7459 V7460
212324 <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA>
V7461 V7462 V7463 V7464 V7465 V7466 V7467 V7468 V7469 V7470 V7471 V7472 V7473 V7474 V7182 V7403 V7404
212324 <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA>
V8455 V7405 V7406 V7407 V7408 V7409 V7410 V7411 V7482 V7701 V7702
212324 (1) NEVER:(1) <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> (1) NOT AT ALL:(1) (2) <1X MONTH:(2)
V7703 V7704 V7705 V7344 V7345 V7346 V7347 V7348 V7349 V7350 V7351
212324 (1) NOT AT ALL:(1) (1) NOT AT ALL:(1) (1) NOT AT ALL:(1) <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA>
V7352 V7353 V7354 V7355 V7356 V7357 V8547 V8548 V7540 V7541 V8562 V8563 V8456 V8457
212324 <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> (1) DISAGREE:(1) (5) AGREE:(5)
V8458 V8459 V8460 V8461 V8462
212324 (1) DISAGREE:(1) (1) DISAGREE:(1) (1) DISAGREE:(1) (4) MOSTLY AGREE:(4) (5) AGREE:(5)
V7718 V7716 V7717 V7719
212324 (3) STRONGLY DISAP:(3) (2) DISAPPROVE:(2) (3) STRONGLY DISAP:(3) (3) STRONGLY DISAP:(3)
V7720 V7721 V7359 V7360 V7361 V7362 V7363 V8545
212324 (3) STRONGLY DISAP:(3) (3) STRONGLY DISAP:(3) (1) NO RISK:(1) (1) NO RISK:(1) <NA> <NA> <NA> <NA>
V8546 V7364 V7365 V7366 V7367 V7368 V7369 V7370 V8560 V8561 V7371 V7372 V7542 V7543 V7377
212324 <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> (1) NO RISK:(1)
V7577 V7578 V7573 V7574 V7575 V7576
212324 (1) NO RISK:(1) (1) NO RISK:(1) (1) NO RISK:(1) (1) NO RISK:(1) (1) NO RISK:(1) (1) NO RISK:(1)
V7579 V7580 V7581 V7582 V7583 V7584
212324 (1) NO RISK:(1) (1) NO RISK:(1) (1) NO RISK:(1) (1) NO RISK:(1) (1) NO RISK:(1) (2) SLIGHT RISK:(2)
V7585 V7586 V7710 V7712 V7713 V7706
212324 (1) NO RISK:(1) (1) NO RISK:(1) (8) NO IDEA:(8) (8) NO IDEA:(8) (8) NO IDEA:(8) (8) NO IDEA:(8)
V7708 V7709 V7189 V7190 V7191 V7192 V7193 V7194 V7195 V7196 V7197
212324 (8) NO IDEA:(8) (8) NO IDEA:(8) (1) NO:(1) <NA> <NA> <NA> <NA> <NA> <NA> (1) NO:(1) <NA>
V7222 V7221 V7223 V7327 V7516 V7517 V7518 V7519 V7329
212324 (4) OTHER/DK:(4) (9) A:(9) (4) DEFINATELY WILL:(4) (2) 1-4 HRS:(2) <NA> <NA> <NA> <NA> (5) ALWAYS:(5)
V7330 V7331 V7332 V7334 V7335 V7232 V7233
212324 (1) NEVER:(1) (5) ALWAYS:(5) (3) SOMETIME:(3) (2) SELDOM:(2) (1) NEVER:(1) (0) NO:(0) (1) YES:(1)
V7301 V7333 V7251 V7252 V7384 V7385 V7386 V7496 V7497 V7387 V7498 V7388
212324 (2) 8TH:(2) (4) OFTEN:(4) (3) SOMETIME:(3) (2) A FEW:(2) <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA>
V7389 V7499 V7390 V7391 V7392 V7393 V7394 V7395 V7396 V7397 V7500 V7398 V7399 V7400 V7522 V7523 V7524
212324 <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA>
V7525 V7526 V7527 V7528 V7529 V7530 V7531 V8537 V8538 V7537 V7253 V7228 V7229
212324 <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> (1) NONE:(1) (1) NONE:(1) (1) NONE:(1)
V7230 V7231 V8539 V8516 V8522 V7509 V7510 V7511 V7512 V7513 V7514 V7515 V7234
212324 (1) NONE:(1) (1) NONE:(1) <NA> <NA> (1) NONE:(1) <NA> <NA> <NA> <NA> <NA> <NA> <NA> (0) NO:(0)
V8543 V7534 V7535 V7536 V7538 V7224 V7225 V7227
212324 <NA> <NA> <NA> <NA> <NA> (3) PROBABLY WILL:(3) (4) DEFINATELY WILL:(4) (3) PROBABLY WILL:(3)
V7226 V7235 V7238 V7236 V7237 V7374 V7240
212324 (4) DEFINATELY WILL:(4) (1) NONE:(1) <NA> (01) NONE:(1) (01) NONE:(1) (2) 5 OR <:(2) (1) NEVER:(1)
V7309 V7310 V7311 V7312 V7313 V7378
212324 (1) NEVER:(1) (1) NEVER:(1) (1) NEVER:(1) (1) NEVER:(1) (5) ALMOST DAILY:(5) (4) ONCE A WEEK+:(4)
V7379 V7380 V7319 V7320 V7321
212324 (4) ONCE A WEEK+:(4) (4) ONCE A WEEK+:(4) (2) FEW TIMES YEAR:(2) (4) ONCE A WEEK+:(4) (4) ONCE A WEEK+:(4)
V7214 V7239 V7341 V7532 V7533 V7339 V7340 V7401 V7402 V7219
212324 (3) 1-2 HRS:(3) (1) < 1:(1) <NA> <NA> <NA> <NA> <NA> <NA> <NA> (4) 1/WK OR+:(4)
V7220 V7255 V7241 V7242 V7243 V7244 V7258 V7375 V7254
212324 (4) VERY IMPORTANT:(4) (2) YES SOME:(2) <NA> <NA> <NA> <NA> <NA> <NA> (3) YES M/AL:(3)
V7259 V7260 V7261 V7262 V7565 V7302 V8512
212324 (3) SOMETIMES:(3) (2) RARELY:(2) (1) NEVER:(1) (4) MOST:(4) <NA> (2) PRETTY HAPPY:(2) (3) NEITHER:(3)
V8502 V8505 V8509 V8514 V8536 V8501
212324 (2) MOSTLY DISAGREE:(2) (4) MOSTLY AGREE:(4) (1) DISAGREE:(1) (5) AGREE:(5) <NA> (5) AGREE:(5)
V8504 V8508 V8503 V8507 V8511
212324 (3) NEITHER:(3) (2) MOSTLY DISAGREE:(2) (2) MOSTLY DISAGREE:(2) (2) MOSTLY DISAGREE:(2) (3) NEITHER:(3)
V8513 V7501 V7502 V7504 V7505 V7507 V7508 V7503 V7506 V8555
212324 (2) MOSTLY DISAGREE:(2) <NA> <NA> <NA> <NA> <NA> <NA> (2) MOSTLY DISAGREE:(2) (5) AGREE:(5) <NA>
V8556 V8557 V8558 V8565 V8566 V1252 V7202 V1070 V7215 V7216 V7217
212324 <NA> <NA> <NA> <NA> <NA> <NA> (1) MALE:(1) <NA> (6) GRAD SCH:(6) (3) HS GRAD:(3) (3) YES F/T:(3)
V7206 V7207 V7208 V7205 V8517 V8518 V8519
212324 (1) MARKED:(1) (0) NOT MARKED:(0) (0) NOT MARKED:(0) (3) CITYTOWN:(3) <NA> <NA> (1) NONE:(1)
V8520 V8521 V8523 V8515 V8526 V8527 V8528 V8529 V8530 V8531 V7555 V7101D V7102D
212324 (1) NONE:(1) <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> (0) NO: (0) (0) NO: (0)
V7105D V7106D V7107D V7112D V7113D V7114D V7115D V7116D
212324 (0) NO: (0) (0) NO: (0) (0) NO: (0) (0) NO: (0) (0) NO: (0) (0) NO: (0) (0) NO: (0) (0) NO: (0)
V7117D V7118D V7119D V7120D V7127D V7128D V7129D V7097D
212324 (0) NO: (0) (0) NO: (0) (0) NO: (0) (0) NO: (0) (0) NO: (0) (0) NO: (0) (0) NO: (0) (0) NO: (0)
V7098D V7099D V7133D V7134D V7135D V7142D V7143D V7144D
212324 (0) NO: (0) (0) NO: (0) (0) NO: (0) (0) NO: (0) (0) NO: (0) (0) NO: (0) (0) NO: (0) (0) NO: (0)
V7139D V7140D V7141D V7593 V7591 V7592 V7615 V7616 V7617 V7613
212324 (0) NO: (0) (0) NO: (0) (0) NO: (0) (2) SOME:(2) <NA> <NA> (1) NONE:(1) (1) NONE:(1) (1) NONE:(1) <NA>
V7610 V7612 V7638 V7637 V7640 V7642 V7648 V7649 V7652 V7655 V7650 V7653
212324 (1) NO RISK:(1) (1) NO RISK:(1) (8) NEVER:(8) <NA> <NA> (1) NONE:(1) <NA> <NA> <NA> <NA> <NA> <NA>
V7656 V7651 V7654 V7657 V7669 V7643 V7658 V7659 V7666 V7668 V7646 V7647 V7661 V7662 V7663 V7664 V7665
212324 <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA>
V7644 V7645 V7670 V7671 V7672 V7673 V4 V7325 V7317 V7318
212324 <NA> <NA> <NA> <NA> <NA> <NA> 55205 (3) ONE HOUR:(3) (4) ONCE A WEEK+:(4) (3) 1-2X MONTH:(3)
V7322 V7323 V7381 V7326 V7539 V7552 V7544
212324 (1) NEVER:(1) (1) NEVER:(1) (4) ONCE A WEEK+:(4) (5) 5-6 HRS:(5) (1) NEVER:(1) (5) ALMOST DAILY:(5) <NA>
V7551 V7553 V7562 V7563 V7343 V7588 V7589 V7590 V7618 V8401
212324 <NA> <NA> <NA> <NA> <NA> (2) 1/2 HOUR:(2) <NA> <NA> (1) NONE:(1) (1) NOT AT ALL:(1)
V8402 V8403 V8404 V8478 V7570 V7614 V7611 V7625 V7626 V7627
212324 (1) NOT AT ALL:(1) (1) NOT AT ALL:(1) (1) NOT AT ALL:(1) <NA> <NA> (1) NONE:(1) <NA> <NA> <NA> <NA>
V7628 V7629 V7630 V7631 V7632 V7633 V7634 V7635 V7636 V7487 V7556 V7619 V7620 V7621 V7622 V7623 V7624
212324 <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA>
V7571 V7572 V7714 V7715 V7711 V7707 V7198 V7324 V7545 V7546 V7667 AI_08 AI_10 V7693 V7694 V7695 V7676
212324 <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> NA NA <NA> <NA> <NA> <NA>
V7677 V7678 V7682 V7684 V7685 V7686 V7687 V7688 V7689 V7690 V7679 V7680 V7681 V7683 V7696 V7691 V7692
212324 <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA>
[ reached 'max' / getOption("max.print") -- omitted 9 rows ]
This is how you could do:
library(data.table)
# minimal example
set.seed(1)
DATA <- data.table(V1 = sample(3, 10, replace = T),
V7101 = sample(3, 10, replace = T),
V7102 = sample(3, 10, replace = T),
V712 = sample(3, 10, replace = T),
V7200 = sample(3, 10, replace = T),
V507 = sample(3, 10, replace = T))
# variables you need to cycle on
vars <- c("V7101", "V7102", "V712", "V7200")
# create all formulas you need (set names for clarity)
frms <- setNames(sprintf("V507 ~ %s + V1", vars), vars)
# cycle with lapply over your formulas
lapply(frms, function(frm) dcast(data = DATA, frm, fun.aggregate = length))
#> $V7101
#> V507 1_1 1_2 1_3 2_1 2_2 2_3 3_1 3_2
#> 1: 1 0 0 0 0 0 1 0 0
#> 2: 2 1 1 2 1 1 1 0 1
#> 3: 3 0 0 0 0 0 0 1 0
#>
#> $V7102
#> V507 1_1 1_2 1_3 2_2 2_3 3_1
#> 1: 1 0 0 0 0 1 0
#> 2: 2 2 2 2 1 1 0
#> 3: 3 0 0 0 0 0 1
#>
#> $V712
#> V507 1_2 1_3 2_1 2_2 2_3 3_1 3_3
#> 1: 1 0 0 0 0 1 0 0
#> 2: 2 1 1 0 2 1 2 1
#> 3: 3 0 0 1 0 0 0 0
#>
#> $V7200
#> V507 1_1 1_3 2_1 2_2 3_1 3_3
#> 1: 1 0 1 0 0 0 0
#> 2: 2 1 1 0 3 1 2
#> 3: 3 0 0 1 0 0 0
Created on 2022-06-28 by the reprex package (v2.0.1)