কিভাবে আমি ওয়ার্কস্পেস থেকে কয়েকটি নির্দিষ্ট অবজেক্ট সাফ করব?


161

আমি ওয়ার্কস্পেস থেকে কিছু ডেটা সরাতে চাই। আমি জানি "ক্লিয়ার অল" বোতামটি সমস্ত ডেটা সরিয়ে ফেলবে। তবে আমি নির্দিষ্ট কিছু ডেটা সরাতে চাই।

উদাহরণস্বরূপ, আমার কাছে ডেটা বিভাগে এই ডেটা ফ্রেমগুলি রয়েছে:

data
data_1
data_2
data_3

আমি সরাতে চান data_1, data_2এবং data_3যখন পালন data

আমি চেষ্টা করেছি data_1 <- data_2 <- data_3 <- NULL, যা ডেটা মুছে ফেলে (আমার মনে হয়), তবে এটি এখনও কর্মক্ষেত্রের জায়গায় রাখে, তাই আমি কী করতে চাই তা পুরোপুরি নয়।

উত্তর:


246

আপনি টাইপ করে উত্তরটি খুঁজে পাবেন ?rm

rm(data_1, data_2, data_3)

44
সমস্ত ভেরিয়েবল মুছে ফেলার জন্য আপনি ব্যবহার করতে পারেন rm(list=ls())
larkee

1
কমান্ড লাইন ছাড়াই আপনি জিইউআইয়ের সাথে কীভাবে করতে পারেন? বিপ্লব আর এর মতো
স্ক্যান

1
আমি যদি অক্ষর A দিয়ে শুরু হয়ে সমস্ত ভেরিয়েবল মুছতে চাই, তবে 'A001', 'A002' .... 'A999' বলুন what আমি এতগুলি ভেরিয়েবলের নাম টাইপ করতে চাই না। ধন্যবাদ!
ব্যবহারকারী 3768495

2
@ এমবাস্কের উত্তরটি (কেবল নীচে) ব্যবহার করুন: rm(list = ls()[grep("A", ls())])
পপ করুন

74

নামযুক্ত-অ্যালাইজ অবজেক্টের পুরো সেটটি সরিয়ে ফেলার একটি কার্যকর উপায়:

rm(list = ls()[grep("^tmp", ls())])

যার মাধ্যমে সমস্ত নাম মুছে ফেলা হবে যার নাম "tmp" স্ট্রিং দিয়ে শুরু হয়।

সম্পাদনা: patternযুক্তির ব্যবহার করে গিসির মন্তব্য অনুসরণ করে :

rm(list = ls(pattern = "^tmp"))

সম্পাদনা করুন: রাফেল মন্তব্যের উত্তরে, কেবলমাত্র অবজেক্টের একটি উপসেট ধরে রাখার একটি উপায় আপনি নির্দিষ্ট প্যাটার্ন সহ যে ডেটা ধরে রাখতে চান সেটি নামকরণ। উদাহরণস্বরূপ, আপনি যদি সেই সমস্ত অবজেক্ট সরিয়ে নিতে চান যাঁর নামটি আপনার সাথে শুরু হয় না paperনীচের আদেশটি জারি করে:

rm(list = grep("^paper", ls(), value = TRUE, invert = TRUE))

7
lsএকটি গ্রহণ pattern, যুক্তি যাতে আপনি যে প্রক্রিয়া সহজ করতেrm(list=ls(pattern="^tmp"))
GSee

1
পৃথকভাবে, আপনি যখন ব্যবহার value=TRUEকরেন তখন কী হয় তা পরীক্ষা করে দেখুন grep... কিছু টাইপিং সংরক্ষণ করতে পারে।
জিএসআই

হাই, কিছু কিছু তথ্য রাখার এবং অন্যগুলি (আরও বড় পরিমাণে) সরিয়ে দেওয়ার কোনও উপায় আছে কি? চিয়ার্স
রাফায়েল

1
ওহে! এবং আমি কীভাবে আমার আর পরিবেশকে দুটি ভিন্ন ধাঁচে রাখতে পারি? আমি "আরএম (তালিকা = গ্রেপ (" ^ কাগজ "|" অবজেক্ট উদাহরণ ", ls (), মান = সত্য, বিপরীত = সত্য)" চেষ্টা করেছি। কেউ কি জানে?
ডেকিকে

1
আপনার নিয়মিত patterngreprm(list = grep("^paper|ObjectExample", ls(), value = TRUE, invert = TRUE))
প্রকাশটি

15

নিম্নলিখিত কমান্ড করতে হবে

rm(list=ls(all=TRUE))

2
এই কর্মক্ষেত্র থেকে সবকিছু মুছে ফেলা হবে না শুধু data1, data2আর data3(অর্থাত dataখুব সরানো হবে)। আপনি যা চান তা যদি কোনটি ঠিক আছে ...
ফিল

2
এবং যদি কেউ বিশ্বব্যাপী পরিবেশ বলতে, কেবল কোনও ফাংশন, মান বা অন্যান্য বস্তু নয়, কেবল ডেটা সরিয়ে নিতে চায়?
নিকোস আলেকজান্দ্রিস


6

আপনি aproposআংশিক নাম ব্যবহার করে অবজেক্টগুলি সন্ধান করতে ব্যবহৃত ফাংশনটি ব্যবহার করতে পারেন ।

rm(list = apropos("data_"))

3

আপনি যদি কেবল কয়েকটি গ্রুপের ভেরিয়েবলগুলি সরিয়ে নিতে চান তবে আপনি একটি তালিকা তৈরি করতে পারেন এবং আপনার প্রয়োজনীয় ভেরিয়েবলটি রাখতে পারেন। আরএম ফাংশনটি "ডেটা" বাদে সমস্ত ভেরিয়েবল অপসারণ করতে ব্যবহার করা যেতে পারে। লিপিটি এখানে:

0->data
1->data_1
2->data_2
3->data_3
#check variables in workspace
ls()
rm(list=setdiff(ls(), "data"))
#check remaining variables in workspace after deletion
ls()

#note: if you just use rm(list) then R will attempt to remove the "list" variable. 
list=setdiff(ls(), "data")
rm(list)
ls()

3

আপনি যদি আর স্টুডিও ব্যবহার করছেন তবে দয়া করে কখনও এই rm(list = ls())পদ্ধতির ব্যবহারটি বিবেচনা করবেন না ! * পরিবর্তে, আপনার আর সেশনটি পুনরায় আরম্ভ করতে আপনার ঘন ঘন ঘন Ctrl+ Shift+ F10শর্টকাট নিযুক্ত করার জন্য আপনার কর্মপ্রবাহ তৈরি করা উচিত । এটি ব্যবহারকারী-সংজ্ঞায়িত ভেরিয়েবলগুলির বর্তমান সেটকে দুগ্ধ করার এবং লোড প্যাকেজ, ডিভাইস ইত্যাদি সাফ করার দ্রুততম উপায় both এই অভ্যাসটি গ্রহণ করে আপনার কাজের পুনরুত্পাদনযোগ্যতা স্পষ্টত বৃদ্ধি পাবে।

আরও পুঙ্খানুপুঙ্খ আলোচনার জন্য (h / t @ kierisi) এর জন্য Rstudio সম্প্রদায়ের এই দুর্দান্ত থ্রেডটি দেখুন (মূল বক্তব্যটি আমি ইতিমধ্যে যা বলেছি তা দ্বারা ধরা পড়ে)।

rm"কৌতুক" দিয়ে স্ক্রিপ্টের পরে আর কোডিং বৈশিষ্ট্যযুক্ত স্ক্রিপ্টের প্রথম কয়েক বছর আমার নিজের স্বীকার করতেই হবে - আমি এই উত্তরটি অন্য কারও কাছে পরামর্শ হিসাবে লিখছি যাঁরা তাদের আর ক্যারিয়ার শুরু করছেন।

* অবশ্যই এর জন্য বৈধ ব্যবহার রয়েছে - অনেকটা পছন্দ attach- তবে প্রথম ব্যবহারকারীরা পরবর্তী সময়ে সেই সেতুটি পেরিয়ে যাওয়ার চেয়ে আরও ভাল পরিবেশন করা (আইএমও) হয়ে উঠবে।


3
  1. আরস্টুডিওতে, নিশ্চিত করুন যে Environmentট্যাবটি Grid(নয় List) মোডে রয়েছে।

  2. আপনি পরিবেশ থেকে অপসারণ করতে চান এমন বস্তুটিকে টিক দিন।

  3. ঝাড়ু আইকনটি ক্লিক করুন।



1

সমস্ত ডেটা সাফ করার জন্য:

ক্লিক করুন Misc>Remove all objects

তোমার যেতে ভাল।

কনসোল সাফ করার জন্য:

ক্লিক করুন edit>Clear console

কোনও কোডের দরকার নেই।


1
যদিও আমি করতে হয়েছিল Session> Clear Workspace...
পিটার কে।
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.