fn.cdrClusterAnalysis <- function(){
#Data preprocessing
cdrAcitivityInputDF <- fn.readCallDetailRecord("F:\\BE Project\\Telecom italia\\Full dataset\\November\\sms-call-internet-mi-2013-11-01.txt")
cdrAcitivityInputDF <- fn.deriveAdditionalFields(cdrAcitivityInputDF)
newdf = cdrAcitivityInputDF[, c(1,9,10,11,12)]
newdf1 <- ddply(newdf, .(square_id , activity_date , activity_hour), summarize, total_activity = sum(total_activity))
write.csv(newdf1,file = "F:\\BE Project\\Code\\ProcessedDataset\\sms-call-internet-mi-2013-11-01.csv",row.names = FALSE)
}
我在一个月中有30个原始txt文件(CDR数据)(1个文件,为1天)在一个目录中,该目录需要处理并将干净数据存储在单独的文件夹中。我不想将代码更改为星期几运行30次,并且我不知道R中的字符串格式如何工作。有人可以帮我吗?
所有文件都以相同的格式存储,例如,第16天的文件名为“ sms-call-internet-mi-2013-11-16.csv”
使用readCallDetailRecord函数中的read.csv
读取文件。
答案 0 :(得分:0)
您可以循环搜索i
,并在每种情况下阅读
paste0("F:\\BE Project\\Telecom italia\\Full dataset\\November\\sms-call-internet-mi-2013-11-",i,".txt")
我不认为您在单个数字前有一个0
。您可以通过传递条件来解决此问题:
if (i<10){
paste0("F:\\BE Project\\Telecom italia\\Full dataset\\November\\sms-call-internet-mi-2013-11-0",i,".txt")
完整:
fn.cdrClusterAnalysis <- function(day){
if (day<10){
day=paste0(0,day)
}
day=as.character(day)
#Data preprocessing
cdrAcitivityInputDF <- fn.readCallDetailRecord(paste0("F:\\BE Project\\Telecom italia\\Full dataset\\November\\sms-call-internet-mi-2013-11-",day,".txt"))
cdrAcitivityInputDF <- fn.deriveAdditionalFields(cdrAcitivityInputDF)
newdf = cdrAcitivityInputDF[, c(1,9,10,11,12)]
newdf1 <- ddply(newdf, .(square_id , activity_date , activity_hour), summarize, total_activity = sum(total_activity))
write.csv(newdf1,file = paste0("F:\\BE Project\\Code\\ProcessedDataset\\sms-call-internet-mi-2013-11-",day,".csv"),row.names = FALSE)
}
for (day in 1:30){
fn.cdrClusterAnalysis(day)
}