Orange - это установленный по умолчанию набор данных из пакета наборов данных, и он ближе всего к моим реальным данным. Я добавил еще один столбец с текстом с пробелами, так как он представляет этот столбец в моих реальных данных, который также имеет пробелы и то, что он должен быть подмножеством. И я знаю, что могу просто скопировать и вставить код dfsummary и freq 13 раз (сколько мне нужно на самом деле), но я действительно не хочу этого делать. Кто-нибудь может заставить это работать? Я хочу, чтобы новые наборы данных были Tree1, Tree2, Tree3, Tree4 и Tree5, но функция paste () не нравится то, что я написал, и я хочу получить dfsummary и freqs (из summarytools) для каждого подмножества.
orange <- data.frame(Orange)
#Add a another variable to play with.
orange$row[orange$Tree==1] <- "Row 1"
orange$row[orange$Tree==2] <- "Row 2"
orange$row[orange$Tree==3] <- "Row 3"
orange$row[orange$Tree==4] <- "Row 4"
orange$row[orange$Tree==5] <- "Row 5"
#start macro
bytree <- defmacro(df, tree, row,
expr={
#subset for tree
paste(Tree,tree) <- subset(df, row==row)
#write out the dfsummary info
#Be sure to include the varnumbers=FALSE or you'll have the 1, 2, 3, on the left side.
dfSummary(paste(Tree,tree), style = "grid", plain.ascii = TRUE,
varnumbers = FALSE, valid.col = FALSE, tmp.img.dir = "./img")
freq(paste(Tree,tree)[ ,c("age", "circumference")])
})
bytree(orange,1,"Row 1")
bytree(orange,2,"Row 2")
bytree(orange,3,"Row 3")
bytree(orange,4,"Row 4")
bytree(orange,5,"Row 5")