如何解决R代码聚类正常但无法导出CSV文件供Python使用的问题?
问题解决方法
你的代码无法导出CSV的核心原因是:df1在经过group_by()和do()操作后仍为分组数据框(grouped_df),直接用write.csv处理分组数据框会导致数据结构异常,无法正常导出。
具体修复步骤:
1. 取消数据框的分组属性
在导出数据前,先通过ungroup()将分组数据框转为普通数据框,再执行导出操作。修改后的导出代码如下:
# 取消分组后导出,可选择包含聚类结果cluster列 write.csv(df1 %>% ungroup() %>% select(x, y, cluster), 'df1.csv', row.names = FALSE)
2. 可选:提前取消分组
你也可以在生成df1的步骤就取消分组,避免后续操作受分组影响:
df1 <- centers %>% group_by(cluster) %>% do(data_frame(x = rnorm(.$n, .$x), y = rnorm(.$n, .$y))) %>% ungroup() # 在此处添加取消分组
3. 验证文件保存路径
如果修改后仍找不到文件,可通过getwd()查看当前工作目录,确认文件是否保存在该路径下;也可以指定完整路径导出,例如:
# Windows示例 write.csv(df1 %>% ungroup() %>% select(x, y), 'C:/Users/你的用户名/Desktop/df1.csv', row.names = FALSE) # Mac/Linux示例 write.csv(df1 %>% ungroup() %>% select(x, y), '~/Desktop/df1.csv', row.names = FALSE)
内容的提问来源于stack exchange,提问作者Hana Bachi
相关产品推荐
相关产品推荐

