我有一个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中,可以是一个矩阵,一个数组或一系列数据帧(每年一个)?
答案 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文件,然后为所有四列分配列名(您的原始数据似乎缺少前两列的名称)。
如果需要进行年级分析,则可以按原样使用此数据框。