将数据帧拆分为R中的多个小数据帧

时间:2016-08-23 17:08:41

标签: r csv dataframe

我有一个大型数据框,我想根据Name列中的值拆分成多个小数据框。

head(DATAFILE)

# Age    Site    Name    1    2    3    4    5

# 10     1      Orange   0    2    1    0    1
# 10     1      Apple    2    5    4    0    2
# 10     1      Banana   0    0    0    0    2
# 20     2      Orange   0    2    1    0    0
# 20     2      Apple    0    2    0    7    1
# 20     2      Banana   0    4    1    3    6

所需输出的示例文件;

head(Orange)

# Age    Site    Name    1    2    3    4    5

# 10     1      Orange   0    2    1    0    1
# 20     2      Orange   0    2    1    0    0

我试过了

SPLIT.DATA <- split(DATAFILE, DATAFILE$Name, drop = FALSE)

但这会返回一个大的列表,我想要单个文件,以便我可以将它们保存为.csv文件。所以我想要一个更好的方法来划分原始文件,或者进一步划分SPLIT.DATA文件。

1 个答案:

答案 0 :(得分:1)

最好直接从list本身的split输出保存数据集,而不是在全局环境中创建单个对象。我们按'SPLIT.DATA'的names循环,并将list元素写入各个csv文件,其名称与list元素的名称相同{{1}将姓名移至paste来电中的.csv

write.csv