文章目錄
- 安裝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是空字符數據的話,應該可以很快處理,避免踩一些不必要的坑