আমি একটি ফোল্ডারে একটি নির্দিষ্ট ফোল্ডারের সমস্ত ফাইলগুলিতে একটি ফাংশন রেখেছি এমন একটি অপেক্ষাকৃত সহজ টুকরো করছি। আমি ভাবছিলাম যে কারও কাছে আমার কাছে বেশ কয়েকটি বিভিন্ন ফোল্ডারে প্রক্রিয়াটি স্বয়ংক্রিয় করতে সহায়তা করার কোনও টিপস রয়েছে কিনা।
- প্রথমত, আমি ভাবছিলাম যে কোনও নির্দিষ্ট ফোল্ডারের সমস্ত ফাইল সোজা আর-তে পড়ার উপায় ছিল কিনা আমি বিশ্বাস করি যে নিম্নলিখিত কমান্ডটি সমস্ত ফাইল তালিকাভুক্ত করবে:
files <- (Sys.glob("*.csv"))
... যা আমি আর ব্যবহার করে খুঁজে পেয়েছি একটি নির্দিষ্ট এক্সটেনশন সহ সমস্ত ফাইলের তালিকা করতে
এবং তারপরে নীচের কোডটি সেই সমস্ত ফাইল আরে পড়ে reads
listOfFiles <- lapply(files, function(x) read.table(x, header = FALSE))
… আর এ একাধিক ফাইল ম্যানিপুলেট করা থেকে
তবে ফাইলগুলি একক ধারাবাহিক তালিকার মতো পড়েও পৃথক ফাইল নয় বলে মনে হয়… আমি কীভাবে কোনও নির্দিষ্ট ফোল্ডারে সমস্ত সিএসভি ফাইল স্বতন্ত্র ডেটাফ্রেম হিসাবে খোলার জন্য স্ক্রিপ্টটি পরিবর্তন করতে পারি?
দ্বিতীয়ত, ধরে নিলাম যে আমি সমস্ত ফাইল পৃথকভাবে পড়তে পারি, আমি কীভাবে একসাথে এই সমস্ত ডেটাফ্রেমে কোনও ফাংশন শেষ করব। উদাহরণস্বরূপ, আমি চারটি ছোট ডেটাফ্রেম তৈরি করেছি যাতে আমি কী চাই তা চিত্রিত করতে পারি:
Df.1 <- data.frame(A = c(5,4,7,6,8,4),B = (c(1,5,2,4,9,1))) Df.2 <- data.frame(A = c(1:6),B = (c(2,3,4,5,1,1))) Df.3 <- data.frame(A = c(4,6,8,0,1,11),B = (c(7,6,5,9,1,15))) Df.4 <- data.frame(A = c(4,2,6,8,1,0),B = (c(3,1,9,11,2,16)))
আমি একটি উদাহরণ ফাংশনও তৈরি করেছি:
Summary<-function(dfile){
SumA<-sum(dfile$A)
MinA<-min(dfile$A)
MeanA<-mean(dfile$A)
MedianA<-median(dfile$A)
MaxA<-max(dfile$A)
sumB<-sum(dfile$B)
MinB<-min(dfile$B)
MeanB<-mean(dfile$B)
MedianB<-median(dfile$B)
MaxB<-max(dfile$B)
Sum<-c(sumA,sumB)
Min<-c(MinA,MinB)
Mean<-c(MeanA,MeanB)
Median<-c(MedianA,MedianB)
Max<-c(MaxA,MaxB)
rm(sumA,sumB,MinA,MinB,MeanA,MeanB,MedianA,MedianB,MaxA,MaxB)
Label<-c("A","B")
dfile_summary<-data.frame(Label,Sum,Min,Mean,Median,Max)
return(dfile_summary)}
আমি প্রতিটি স্বতন্ত্র ডাটাফ্রেমে ফাংশনটি প্রয়োগ করতে সাধারণত নিম্নলিখিত কমান্ডটি ব্যবহার করব।
ডিএফ 1.সামারী <-সুমারী (ডিফিল)
সমস্ত ডেটাফ্রেমে ফাংশনটি প্রয়োগ করার পরিবর্তে এবং সংক্ষিপ্ত সারণিতে ডেটাফ্রেমগুলির শিরোনামগুলি (যেমন Df1.summary) ব্যবহার করার উপায় আছে কি?
অনেক ধন্যবাদ,
কেটি
plyr::llply
(বাldply
)lapply
নিজের সারসংক্ষেপ ফাংশনটি সংজ্ঞায়িত করব, যেমনplyr::each(min, max, mean, sd, median)