nums <- lapply(strsplit(levels(quux$x), "[^0-9]+"), as.numeric)
str(nums)
# List of 5
# $ : num [1:2] 0 2000
# $ : num [1:2] 2000 4000
# $ : num [1:2] 4000 6000
# $ : num [1:2] 6000 8000
# $ : num [1:2] 8000 10000
您可以将其转换为您希望每个表示的任何“数字”。示例:
### first of each pair
sapply(nums, `[[`, 1)
# [1] 0 2000 4000 6000 8000
### min, different from above if they are not always in order;
### this time showing addition of the 'na.rm=TRUE' in case
### there are non-numbers
sapply(nums, min, na.rm = TRUE)
# [1] 0 2000 4000 6000 8000
### average of each pair
sapply(nums, mean)
# [1] 1000 3000 5000 7000 9000
1条答案
按热度按时间11dmarpk1#
您的问题是如何将数字的因子转换为类似数字的东西,以便您可以在其上绘制直方图。
我认为最简单的开始是为每个字符串提供两个值,每个值。
您可以将其转换为您希望每个表示的任何“数字”。示例:
无论您选择哪一个,都可以将该值放入计划使用的任何历史绘制表达式中。