I have used the following code to create a large table with vertical column names. However, the table overlapped on my text. I need to have a table on the whole page. I appreciate any help about this as I am working on my paper.
\documentclass[compsoc]{IEEEtran}
\usepackage{array}
\usepackage{booktabs}
\usepackage{rotating}
\newcolumntype{P}[2]{%
>{\begin{turn}{#1}\begin{minipage}{#2}\small\raggedright\hspace{0pt}}l%
<{\end{minipage}\end{turn}}%
}
\begin{document}
\begin{table}
% \centering
\caption{Some properties}
\label{tab:test1}
\begin{tabular}{@{}rcccccccccccccccccc@{}}
\toprule
& \multicolumn{1}{P{90}{1.6cm}}{Feedback} &
\multicolumn{1}{P{90}{1.6cm}}{Adaptation} &
\multicolumn{1}{P{90}{1.6cm}@{}}{Previous Knowledge Construction}&
\multicolumn{1}{P{90}{1.6cm}@{}}{Challenging Assessment Methods}&
\multicolumn{1}{P{90}{1.6cm}@{}}{Collaborative Learning}&
\multicolumn{1}{P{90}{1.6cm}@{}}{Authentic \& Challenging Goals}&
\multicolumn{1}{P{90}{1.6cm}@{}}{Inquiry-Based LEarning}&
\multicolumn{1}{P{90}{1.6cm}@{}}{Use of Multimedia}&
\multicolumn{1}{P{90}{1.6cm}@{}}{Multi vs. Single users}&
\multicolumn{1}{P{90}{1.6cm}@{}}{Visibilitiy of System Status}&
\multicolumn{1}{P{90}{1.6cm}@{}}{Sense of Presence}&
\multicolumn{1}{P{90}{1.6cm}@{}}{Matching with Real-world}&
\multicolumn{1}{P{90}{1.6cm}@{}}{User Control \& Freedom}&
\multicolumn{1}{P{90}{1.6cm}@{}}{Consistency \& Standards}&
\multicolumn{1}{P{90}{1.6cm}@{}}{Error Prevention}&
\multicolumn{1}{P{90}{1.6cm}@{}}{Previous Knowledge Construction}&
\multicolumn{1}{P{90}{1.6cm}@{}}{Recognition Rather than Recall}&
\multicolumn{1}{P{90}{1.6cm}@{}}{Flexible and ease of use}&
\multicolumn{1}{P{90}{1.6cm}@{}}{High Representational Fidelity}\\
\midrule
Babich et al.\cite{Babich2004} & N & N & N & N & N & N& N & X & X & N & N & N & N& X & N & N & N & N\\
% System 2 & X & X & X \\
% System 3 & X & & X \\
\bottomrule
\end{tabular}
\end{table}
\end{document}



Pcolumn is, or the size of your page so it is impossible to help – David Carlisle Jul 25 '19 at 19:27\begin{tabular}{@{}rccccccccccccccccccc@{}}or shorter:\begin{tabular}{@{}r*{19}{c}@{}}. Nevertheless, I'd suggest to switch the page orientation to landscape as the table is now too wide for the page. – leandriis Jul 25 '19 at 19:36table*instead ottableshould help. – leandriis Jul 25 '19 at 19:41landscapeenvironment. Other possibilities might be found here: How to rotate a table?. If you want to keep your table on a portrait page, you might want to allow the header row to be a bit taller (replace {1.6cm}by{3.25cm}` and your table's width will no longer exceed teh textwidth. – leandriis Jul 25 '19 at 19:45