Comments (2)
Yes, it is possible but a little tricky:
library(expss)
# create sample of data
set.seed(123)
N = 150
df = data.frame(
st1 = sample(paste0("brand", 1:5), N, replace = TRUE),
st2 = sample(paste0("brand", 1:5), N, replace = TRUE),
st3 = sample(paste0("brand", 1:5), N, replace = TRUE),
st4 = sample(paste0("brand", 1:5), N, replace = TRUE)
) %>% apply_labels(
st1 = 'Statement 1',
st2 = 'Statement 2',
st3 = 'Statement 3',
st4 = 'Statement 4'
)
tab_hcpct = function(data, item) {
eval.parent(substitute(
# here we remove variable label from rows
tab_cells(data, "|" = drop_var_labs(item)) %>%
# and make label for statistic from variable label
tab_stat_cpct(label = var_lab(item))
))
}
df %>%
tab_hcpct(st1) %>%
tab_hcpct(st2) %>%
tab_hcpct(st3) %>%
tab_hcpct(st4) %>%
# stat_position = "inside_columns" means that we place statistic label (now it is var lab) in the columns
tab_pivot(stat_position = "inside_columns")
# | | #Total | | | |
# | | Statement 1 | Statement 2 | Statement 3 | Statement 4 |
# | ------------ | ----------- | ----------- | ----------- | ----------- |
# | brand1 | 18.7 | 16.7 | 20.0 | 19.3 |
# | brand2 | 20.0 | 25.3 | 24.7 | 20.7 |
# | brand3 | 20.7 | 20.7 | 17.3 | 20.0 |
# | brand4 | 21.3 | 19.3 | 19.3 | 15.3 |
# | brand5 | 19.3 | 18.0 | 18.7 | 24.7 |
# | #Total cases | 150.0 | 150.0 | 150.0 | 150.0 |
from expss.
Something like this:
library(expss)
set.seed(123)
data <- data.frame(
Age = sample(c("25-34", "35-54", "55+"), 25, replace = TRUE),
BrandA = c(1, 0, 0, 1, 0, 1, NA, NA, NA, NA, NA, NA, NA, 1,
0, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1),
BrandB = c(NA, NA, NA, NA, NA, NA, 1, 1, 0, 1, 0, 1, 1, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
BrandC = c(1, 0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0,
1, 1, 1, 0, 1, 0, 1, 0, 1)
)
custom_dichotomy = function(x, weight = NULL){
c(
"%" = w_mean(x, weight = weight)*100,
"#Total" = unweighted_valid_n(x, weight = weight)
)
}
data %>%
tab_cells(BrandA %to% BrandC) %>%
tab_cols(total(), Age) %>%
tab_stat_fun(custom_dichotomy) %>%
tab_pivot()
from expss.
Related Issues (20)
- Mismatches between significance test result of R and SPSS HOT 6
- How to not include subtotals in percent calculation? HOT 4
- Redundant column when using subtotal in columns HOT 4
- Help with val_lab() and var_lab() HOT 3
- Intermittent error: "duplicated values in labels" HOT 5
- Converting etable to huxtable leaves duplicate cells empty HOT 2
- 'do_repeat' functionality HOT 1
- Random error 'set_val_lab' - duplicated values in labels: HOT 13
- Please keep do_repeat HOT 2
- Unable to install without 'knitr' - move to Depends? HOT 1
- Custom table significance / Count of missing values in total rows HOT 5
- Question about computing percentages with different bases HOT 3
- What happened to vlookup? HOT 1
- Where deprecated in future HOT 2
- Question about net HOT 2
- Shiny and expss HOT 2
- var_lab in net HOT 2
- Multiple response in function() HOT 4
- expss--where did it go? HOT 1
- use of `base::mtfrm` entails R 4.2 or later HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from expss.