তিন উপরের বিপরিতে উত্তর একটি দুর্বলতা আছে।
আপনার ডেটাফ্রেমটি যদি এমন দেখাচ্ছে
df <- data.frame(Time=c(1,2), In=c(2,3), Out=c(3,4), Files=c(4,5))
> df
Time In Out Files
1 1 2 3 4
2 2 3 4 5
তাহলে এটি ব্যবহারের একটি দুর্বল সমাধান
> df2[,c(1,3,2,4)]
এটি কাজ করে, তবে আপনি কেবল আপনার ইনপুটটিতে কলামগুলির ক্রমের উপর নির্ভরতা প্রবর্তন করেছেন।
ভঙ্গুর প্রোগ্রামিংয়ের এই স্টাইলটি এড়ানো উচিত।
কলামগুলির স্পষ্ট নামকরণ একটি আরও ভাল সমাধান
data[,c("Time", "Out", "In", "Files")]
এছাড়াও, আপনি যদি আরও সাধারণ সেটিংয়ে আপনার কোডটি পুনরায় ব্যবহার করতে চান তবে আপনি সহজভাবেই পারেন
out.column.name <- "Out"
in.column.name <- "In"
data[,c("Time", out.column.name, in.column.name, "Files")]
এটি বেশ সুন্দর কারণ এটি পুরোপুরি আক্ষরিককে বিচ্ছিন্ন করে। বিপরীতে, আপনি dplyr এর ব্যবহার করেselect
data <- data %>% select(Time, out, In, Files)
তারপরে আপনি তাদের সেট আপ করবেন যারা আপনার কোডটি পরে পড়বেন, নিজেকে অন্তর্ভুক্ত রেখেছিলেন, কিছুটা প্রতারনার জন্য। কলামের নামগুলি কোডটিতে যেমন প্রদর্শিত না হয়ে আক্ষরিক হিসাবে ব্যবহৃত হচ্ছে।
help(Extract)
?'['