lets start at the top. assuming you have data.frames named cocoa, coffee , maize etc.
do you want to turn them into a big list called crops where each entry is a column from the frames you had ? or do you rather want crops to be a list of the exact data.frames ? if the latter use list() rather than c()
example
x <- c(iris,mtcars)
str(x)
y <- list(iris,mtcars)
str(y)