查看Excel各列数据唯一值列表 (R语言如何处理和导出list)

在处理大型excel数据表格时,常常需要检查各列excel数据由哪些数值或字符构成以及是否有异常值等,如果通过手工操作excel来检查会非常麻烦。但若使用R语句,则能快速轻松的解决此问题。此外,本文还讲述了一些有关在R语言中如何处理和导出list数据的方法。

 
######################################################################
setwd("C:/...") ##设置分析目录##
library(readxl)  ##载入读取excel包##
data = read_excel("filename.xlsx",  col_names = TRUE) ##读取excel数据##
 
###查看Excel各列数据唯一值列表,第一列为ID不纳入分析###
xx = c()
for (x in 2:length(data)) {
  xx[x] = unique(data[,x])
}
 
capture.output(xx,file="xx.txt") ##导出txt格式的list结果,此时无法用write导出##
 
 
###为将多个list合并转化为matrix,首先需要给各list命名####
for(d in 2:length(xx)){
  assign(paste("r", d, sep = "."),xx[d])
}
 
###运用do.call函数将命名好的多个list组成一个matrix##
dd = do.call(rbind,lapply(paste("r",2:length(xx),sep="."),get))
 
##给名为dd的matrix的各列数据排序,方便查看结果###
for(s in 1:(length(dd))){
  dd[[s]] = sort(dd[[s]], na.last = TRUE)
}
 
##计算每个list的长度,并将结果与dd合并为一个matrix##
length = c()
for (x in 1:length(dd)) {
  length[x] = length(dd[[x]])
}
dd = cbind(length,dd)
 
##导出csv格式的数据###
write.csv(dd,"dd.csv")
 
###############END##################

发表评论

您的电子邮箱地址不会被公开。