将多维数组读入R

时间:2019-01-15 05:15:05

标签: r multidimensional-array

我有一个CSV文件,其中包含每年的数据表:

const inputArr = [
    {
        "year": "2011",
        "activity": "bowling"
    },
    {
        "year": "2009",
        "activity": "shopping",
    },
    {
        "year": "2011",
        "activity": "cooking"
    },
    {
        "year": "2006",
        "activity": "singing"
    }
];

const outputArr = inputArr.sort((objA, objB) => Number(objA.year) - Number(objB.year))
    .reduce((accu, obj) => {
        const len = accu.length;
        if(len == 0 || accu[len-1].year !== obj.year) {
            accu.push(obj);
        } else {
            accu[len-1].activity += ', ' + obj.activity;
        }
        return accu;
    }, []);

console.log(outputArr);

实际文件如下:

2006
     men women
yes  34  15
no   2   187
2007
     men women
yes  12  88
no   465 NA

如何将这个文件读入R中,可以是一个矩阵,一个数组或一系列数据帧(每年一个)?

1 个答案:

答案 0 :(得分:1)

我建议在这里仅使用read.csv,以分号作为分隔符:

your_df <- read.csv(file="path/to/your/file.csv", sep=";", stringsAsFactors=FALSE)
names(your_df) <- c("year", "answer", "men", "women")

这将读取您的CSV文件,然后为所有四列分配列名(您的原始数据似乎缺少前两列的名称)。

如果需要进行年级分析,则可以按原样使用此数据框。