文章目录
- 安装R语言运行环境
- 实现代码
- 遇到的问题
- 总结
安装R语言运行环境
安装教程连接, 包含国内镜像快速下载
实现代码
- 实现思路:使用python将文件的空字符的位置变成0,生成csv文件后交给R语言处理
- python实现代码如下:
import pandas as pddf = pd.read_excel('file_fi.xlsx',engine='openpyxl',na_values=['', ' ', '#N/A', '#VALUE!', '#REF!'], # 指定哪些值被视为NAkeep_default_na=False, # 不将空字符串等默认转换为NAdtype={'gene symbol': str}) # 强制指定列类型为字符串df = df.fillna(0)print(df[['ID_REF', 'gene symbol']].head(100))# 保存为CSV文件
df.to_csv('file_fi.csv', index=False, encoding='utf-8-sig')new_df = pd.read_csv("file_fi.csv")
print(new_df[["gene symbol"]].head(1000))
- R语言读取数据代码如下:
library(readxl)
data <- read_csv("file_fi.csv")
print(data[["gene.symbol"]])
下图是这列属性的print展示
遇到的问题
- R语言读取100MB的xlsx文件过慢
- 解决办法:用python 处理好文件,再让R语言处理
- Python读取后依然出现NA问题
- 排查后发现,NA的行是因为原始数据集该位置的数据是空的 -> 让这些空的变成0,最终再生成一个处理后的csv文件
总结
- 处理数据需先好好观察数据;如果看到NA是空字符数据的话,应该可以很快处理,避免踩一些不必要的坑