I agree: paste(collapse="something", ...) should always return a single character string, regardless of the value of recycle0. This would be similar to when there are no non-NULL arguments to paste; collapse="." gives a single empty string and collapse=NULL gives a zero long character vector. > paste() character(0) > paste(collapse=", ") [1] ""
Bill Dunlap TIBCO Software wdunlap tibco.com On Thu, Apr 30, 2020 at 9:56 PM suharto_anggono--- via R-devel < r-devel@r-project.org> wrote: > Without 'collapse', 'paste' pastes (concatenates) its arguments > elementwise (separated by 'sep', " " by default). New in R devel and R > patched, specifying recycle0 = FALSE makes mixing zero-length and > nonzero-length arguments results in length zero. The result of paste(n, > "th", sep = "", recycle0 = FALSE) always have the same length as 'n'. > Previously, the result is still as long as the longest argument, with the > zero-length argument like "". If all og the arguments have length zero, > 'recycle0' doesn't matter. > > As far as I understand, 'paste' with 'collapse' as a character string is > supposed to put together elements of a vector into a single character > string. I think 'recycle0' shouldn't change it. > > In current R devel and R patched, paste(character(0), collapse = "", > recycle0 = FALSE) is character(0). I think it should be "", like > paste(character(0), collapse=""). > > paste(c("4", "5"), "th", sep = "", collapse = ", ", recycle0 = FALSE) > is > "4th, 5th". > paste(c("4" ), "th", sep = "", collapse = ", ", recycle0 = FALSE) > is > "4th". > I think > paste(c( ), "th", sep = "", collapse = ", ", recycle0 = FALSE) > should be > "", > not character(0). > > ______________________________________________ > R-devel@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel > [[alternative HTML version deleted]] ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel