Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Removing rows when reading data D3

Say I have a sample file sample.csv:

row,col,value
1,1,2
1,2,3
1,3,NA

When reading data in d3 you do something like:

d3.csv("sample.csv", function(data) {
    data.forEach(function(d) {
    d.value = +d.value;
});

However, for the NA value +d.value will return NaN. How can I exclude NaN values from my data. i.e. read the data, and only take rows which have a number value

Thanks!

like image 752
Omar Wagih Avatar asked Oct 16 '12 19:10

Omar Wagih


Video Answer


1 Answers

You can call isNaN on the data before you try to add it:

d3.csv('sample.csv', function(data) {
    data = data.filter(function(d){
        if(isNaN(d.value)){
            return false;
        }
        d.value = parseInt(d.value, 10);
        return true;
    });
});

This assumes your numbers will all be base-10 integers.

like image 196
JasonWyatt Avatar answered Nov 10 '22 01:11

JasonWyatt