gpt4 book ai didi

r - 如何绘制显示真实叶子的茎叶图而不进行四舍五入

转载 作者:行者123 更新时间:2023-12-04 09:40:51 24 4
gpt4 key购买 nike

例如,我有数字:43.2, 45.3, 48.1, 54.2 .当我使用 stem() 函数绘制绘图时,我得到了:stem() 函数显示如下

x <- c(43.2, 45.3, 48.1, 54.2)

stem(x)
#
# The decimal point is 1 digit(s) to the right of the |
#
# 4 | 3
# 4 | 58
# 5 | 4

但从情节我只能知道数字是: 43,45,48,54 .所以我想要一个函数来绘制一个茎叶图,我仍然可以知道确切的数字而不需要四舍五入。

此外,我希望它只使用一位数字来表示词干,而在叶子中显示其他数字。例如, 43.2应该是茎 4和一片叶子 3.2 , 43.22应该是茎 4和一片叶子 3.22 .
对于数字: 43.2, 45.3, 48.1, 54.2 .我想要这样的情节:

enter image description here

最佳答案

x <- c(43.2, 45.3, 48.1, 54.2)

stem(x)
#
# The decimal point is 1 digit(s) to the right of the |
#
# 4 | 3
# 4 | 58
# 5 | 4

stem2(x)
#
# The decimal point is 1 digit(s) to the right of the |
#
# 4 | 3.2
# 4 | 5.3, 8.1
# 5 | 4.2

stem2 <- function(x) {
cx <- gsub('^.', ', ', as.character(sort(x)))
co <- capture.output(stem(x))
m <- gregexpr('\\d(?!.*\\|)', co, perl = TRUE)
l <- regmatches(co, m)
l <- t(do.call('rbind', lapply(l, `length<-`, max(lengths(l)))))
l[!is.na(l)] <- cx
regmatches(co, m) <- data.frame(l)
cat(gsub(' , ', ' ', co), sep = '\n')
}

关于r - 如何绘制显示真实叶子的茎叶图而不进行四舍五入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39309193/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com