我有一个csv文件,其中列出了水果及其每月产量。每个水果在csv中占一行,并且每个月都有自己的列。我将其读入R并用逗号分隔每一列。
csv看起来像这样:
Apple, 312, 113, 177, 151, 31, 3
Orange, 613, 611, 687, 594, 431, 399
Pear, 23, 11, 7, 5, 3, 1
Strawberry, 87, 91, 102, 111, 150, 165
Mango, 76, 76, 81, 92, 101, 97
我使用了一个名为readLines的函数,将csv读取为List格式,如下所示:
df <- readLines('fruits.csv', sep = ",")
因此,总而言之,现在我想通过为水果赋予“键”属性,并为产量(数字)赋予值,以类似于字典的方式来分隔水果的名称和其产量。
我该怎么做?
答案 0 :(得分:0)
R的列表基本上像字典一样起作用。这样的事情可能对您有用,在这里,我首先读取CSV作为数据帧,split
行,然后遍历结果列表,删除水果名称并将剩余的每月值转换为数字向量:
df <- read.csv("fruits.csv", header = F)
lapply(split(df, df$V1), function(x) as.numeric(x[-1]))
上面的代码将返回一个列表,其中水果名称是列表元素的名称,每月值是整数向量:
$Apple
[1] 312 113 177 151 31 3
$Mango
[1] 76 76 81 92 101 97
$Orange
[1] 613 611 687 594 431 399
$Pear
[1] 23 11 7 5 3 1
$Strawberry
[1] 87 91 102 111 150 165