Полное редактирование, основанное на изменениях в вашем вопросе:
# create example data (notice this differs slightly from your table above)
df <- read.csv(stringsAsFactors = FALSE, header = TRUE,
text ="Material, DocDate, Name, Address, UnitPrice
1258486, 3/17/2017, FEHLIG BROS BOX, asd, 8.95
1258486, 5/11/2017, FEHLIG BROS BOX, asd, 9.50
1258486, 12/11/2017, FEHLIG BROS_BOX, asd, 10.5
1250000, 12/20/2017, Krones ALPHA, afg, 11.5")
# let's use data.table
library(data.table)
df_orig <- as.data.table(df)
df_orig[ , DocDate := as.Date(DocDate,format="%m/%d/%Y")][order(DocDate)]
# create one string per Name-Material pair
df_intermed <- df_orig[ , .(newvar = paste(Name[1], Address[1], paste(UnitPrice, collapse="/"), sep="/")), by=.(Material, Name)]
# aggregate those strings across Names, so one row per Material
df_final <- df_intermed[ , .(newvar = paste(newvar, collapse=",")), by=Material]