আপনি যদি রেফারেন্স অনুসারে কলামগুলি মুছে ফেলতে চান এবং এর সাথে যুক্ত অভ্যন্তরীণ অনুলিপি এড়াতে চান data.frames
তবে আপনি data.table
প্যাকেজ এবং ফাংশনটি ব্যবহার করতে পারেন:=
আপনি একটি অক্ষর ভেক্টরের নামগুলি :=
অপারেটরের বাম দিকে এবং NULL
আরএইচএস হিসাবে পাস করতে পারেন ।
library(data.table)
df <- data.frame(a=1:10, b=1:10, c=1:10, d=1:10)
DT <- data.table(df)
# or more simply DT <- data.table(a=1:10, b=1:10, c=1:10, d=1:10) #
DT[, c('a','b') := NULL]
আপনি যদি কলটির বাইরে চরিত্রের ভেক্টর হিসাবে নামগুলি পূর্বনির্ধারিত করতে চান [
তবে অবজেক্টের নামটি মোড়ানো ()
বা {}
এলএইচএসকে কলিংয়ের ক্ষেত্রের মধ্যে মূল্য হিসাবে মূল্যায়ন করতে বাধ্য করতে বাধ্যকরণের ক্ষেত্রের মধ্যে নয় DT
।
del <- c('a','b')
DT <- data.table(a=1:10, b=1:10, c=1:10, d=1:10)
DT[, (del) := NULL]
DT <- <- data.table(a=1:10, b=1:10, c=1:10, d=1:10)
DT[, {del} := NULL]
# force or `c` would also work.
এছাড়াও আপনি ব্যবহার করতে পারেন set
, যা ওভারহেড এড়াতে [.data.table
, এবং জন্য কাজ করে data.frames
!
df <- data.frame(a=1:10, b=1:10, c=1:10, d=1:10)
DT <- data.table(df)
# drop `a` from df (no copying involved)
set(df, j = 'a', value = NULL)
# drop `b` from DT (no copying involved)
set(DT, j = 'b', value = NULL)
df#drop(var_name)
, এবং এর পরিবর্তে আমাদের এই জটিল কাজগুলি করা দরকার?