You could put them into column calls:
tabItem(h1("Data Exploration"), tabName = "dataexploration",
fluidRow(
column(
width = 6,
box(title = "Generate Data Set", actionButton("data_generate", "Generate")),
box(title = "Category Distribution", plotOutput('category_dist'))
),
column(
width = 6,
box(title = "Data Frame", dataTableOutput('df')),
box(title = "Summary Stats", tableOutput('token_summary')),
)
))