求助:将R Markdown编织为PDF时出现「必须为有限数值」错误
排查「必须为有限数值」错误的方案
检查饼图数据的有效性:
运行以下代码确认rawdata8.2$rawdata8.1中是否存在非有限值(NA、NaN、正/负无穷):# 检查是否存在非有限值 any(!is.finite(rawdata8.2$rawdata8.1)) # 定位非有限值的位置 which(!is.finite(rawdata8.2$rawdata8.1))如果存在这类值,需要清洗数据:比如用
na.omit()移除NA,或替换NaN/Inf为合理数值,确保所有数据都是有限的正数。修正颜色参数的长度匹配问题:
代码中hcl.colors(length(data), "Spectral")里的data未明确定义,且大概率和饼图数据长度不匹配,改成与目标数据长度一致:col = hcl.colors(length(rawdata8.2$rawdata8.1), "Spectral")验证数据总和合理性:
饼图数据总和不能为0,运行以下代码检查:sum(rawdata8.2$rawdata8.1, na.rm = TRUE)如果总和为0,需确认数据是否正确加载或筛选。
修改后的完整代码示例:
library(plotrix) # 清洗数据,移除非有限值并确保为非负数 clean_data <- rawdata8.2$rawdata8.1[is.finite(rawdata8.2$rawdata8.1)] clean_data <- pmax(clean_data, 0) p6 <- pie3D(clean_data, col = hcl.colors(length(clean_data), "Spectral"), radius = 1.7, theta = 0.25, shade = 0.5, height = 0.3, start = pi/1.25, explode = 0.2) title("Anzahl Ankünfte nach Herkunftsland der Touristen 2020" )
内容的提问来源于stack exchange,提问作者stargazzer101
相关产品推荐
相关产品推荐

