In help(unit) I read: The 'data' argument must be a list when the 'unit.length()' is greater than 1. For example, 'unit(rep(1, 3), c("npc", "strwidth", "inches"), data=list(NULL, "my string", NULL))'.
In the newest R-versions it is not anymore allowed to let strings in the data-argument for plain units, otherwise one gets the following error: Non-NULL value supplied for plain unit I have some labels. Between them I wanted to set a distance of 1.5 lines. (I wanted to use that for a grid.layout for a legend: The space is for the symbols.) labels <- c( 'xxxx:', 'a', 'bb', 'ccc', 'dddd', 'eeeee' ) n <- length( labels ) s <- as.list( c( labels[1], rep( labels[-1], each=2 ) ) ) u <- unit( data=s, x=c( 1, rep( c( 1.5, 1 ), n-1 ) ), units=c( 'strwidth', rep( c( 'lines', 'strwidth' ), n-1 ) ) ) How can I insert the NULL values into the list ``s''? To fill every second element of s with NULL, I tried: s[ 2 * ( 1 : length( labels[-1] ) ) ] <- NULL But this deletes every second element. The following would work: s[ 2 * ( 1 : length( labels[-1] ) ) ] <- NA But unit() does not accept NAs. Regards - Wolfram ______________________________________________ R-help@stat.math.ethz.ch mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.