我正在尝试在R中实现一个数组,但为所有x值绘制相同的y值。如果值为NA,则不应绘制 我尝试了下面的图表,显示了所有10个值的直方图。
plot(c(1,2,NA,3,4,5,3,NA,2,4),type='h', ylim=c(0,4))
但是,对于下面的情况,当我尝试控制y值时,图中不会考虑重复的值。
plot(c(1,2,NA,3,4,5,3,NA,2,4), rep(1,10),type='h', ylim=c(0,4))
这可以用绘图功能吗?请建议是否可以使用替代方案。
答案 0 :(得分:0)
请再次查看?plot
的帮助页面。
在第二行中,您可以在x值1到5处绘制y值1
。您获得的图表正是您要求的图表,而不是您所关注的图表。在第一个图中,您的值被解释为y值,而不是x值。图中的x值只是第一个示例中的索引。
如果您希望未在NA
值处绘制线条,请执行以下操作:
x <- c(1,2,NA,3,4,5,3,NA,2,4)
plot(!is.na(x), type = 'h')
现在,只要有值,就会绘制TRUE
(值为1),只要没有值,就会FALSE
(转换为0)。
这与:
完全相同xx <- ifelse(is.na(x),0,1)
plot(xx, type = 'h')
旁注:请不要将其称为直方图。直方图表示箱的计数,这甚至不接近。
答案 1 :(得分:0)
let data = [
{
name : 'Item 1', qty: 2, price: 15.50 // 31
},
{
name : 'Item 2', qty: 17, price: 25.13 // 427.21
},
{
name : 'Item 3', qty: 102, price: 8.00 // 816
}
];
function getSubTotal (items) {
const fn = (total, { price, qty }) => total + price * qty;
return items.reduce(fn, 0);
}
console.log(getSubTotal(data));