পুনর্নির্মাণ / পুনর্গঠন ডেটার সেরা উপায় কী?


12

আমি একটি ল্যাব (স্বেচ্ছাসেবক) এর গবেষণা সহায়ক am একটি বিশাল অধ্যয়ন থেকে টানা এক সেট ডেটার জন্য আমি এবং একটি ছোট গ্রুপকে ডেটা বিশ্লেষণের দায়িত্ব দিয়েছি। দুর্ভাগ্যক্রমে ডেটাগুলি একরকম একটি অনলাইন অ্যাপ্লিকেশন সহ একত্রিত হয়েছিল এবং এটি সবচেয়ে ব্যবহারযোগ্য আকারে ডেটা আউটপুট দেওয়ার জন্য প্রোগ্রাম করা হয়নি।

নীচের ছবিগুলি মূল সমস্যাটি চিত্রিত করে। আমাকে বলা হয়েছিল যে এটিকে "পুনরায় আকার" বা "পুনর্গঠন" বলা হয়।

প্রশ্ন: 10 কেও বেশি এন্ট্রি সহ একটি বড় ডেটা সেট করে ছবি 1 থেকে ছবি 2 এ যাওয়ার জন্য সেরা প্রক্রিয়াটি কী?

এটি একটি নমুনা, আসল ফাইলে 10k এর বেশি এন্ট্রি রয়েছে।  আমি স্বচ্ছতার সাথে সাহায্য করতে রঙিন কোড করেছি

এটিকেই সকলকে রূপান্তরিত করা দরকার।


1
দয়া করে এটিকে দুটি পৃথক প্রশ্নে বিভক্ত করুন এবং নমুনা ডেটা সরবরাহ করুন (প্রাসঙ্গিক না হলে আপনি আপনার পটভূমি বাদ দিতেও পারেন)। মোটামুটিভাবে, (1) এ আপনি একটি ম্যাপিং সন্ধান করতে এবং তারপরে সংখ্যা সংযুক্ত করতে মার্জ করতে চান। (২) আপনি যে ধরনের ম্যানিপুলেশন করতে চান তার উপর অত্যন্ত নির্ভর করে; জিনিস এই ধরনের জনপ্রিয় আর প্যাকেজ অন্তর্ভুক্ত data.table, dplyr, plyr, এবং reshape2- আমি এক্সেল এবং পিভট টেবিল এড়ানো প্রস্তাব দিই যদি সম্ভব।
ম্যাক্স ঘেনিস

আমি অনুমান করছি যে আপনার ডেটা পরিষ্কারের সমস্যাগুলি আপনার জিজ্ঞাসার ধরণের সাধারণ প্রশ্নগুলির চেয়ে বেশি বিস্তৃত। আপনি ওপেনফাইফাইন.অর্গ.এর দিকে নজর দিতে পারেন। কয়েকটি ভিডিও এবং ডাউনলোড আপনার বিশ্লেষণের এই অংশটিতে আপনাকে অনেক সহায়তা করতে পারে।
জন

3
এই প্রশ্নটি অফ-টপিক হিসাবে উপস্থিত বলে মনে হচ্ছে কারণ এটি পরিসংখ্যান নয়, প্রাথমিক তথ্য সাফাই এবং সংস্থা সম্পর্কে।
নিক স্টাওনার

2
আমি বলব এটি কোনও বিষয়বস্তু নয় কারণ আপনার ডেটা পরিষ্কার করা যেমন প্রক্রিয়া হিসাবে "প্রাথমিক" হতে পারে এটি ব্যবহারের জন্য প্রয়োজনীয়। এটি একটি বৃহত্তর সমস্যার অংশ।
শ্যাডটলকার

2
@ নিক স্টাটোনার, আইআইআরসি আমি 'অস্পষ্ট / আরও তথ্যের প্রয়োজন' হিসাবে বন্ধ হওয়ার পক্ষে ভোট দিয়েছি, অফ-টপিক হিসাবে নয়। আমার কাছে মনে হয় ডেটা পরিষ্কার করা বড় পরিসংখ্যানের আওতায় রয়েছে, এবং যদিও আমি স্বীকৃতি দিয়েছি ভাল লোকেরা এতে দ্বিমত পোষণ করতে পারে তবে আমি মনে করি যে এই জাতীয় প্রশ্নগুলি বিষয়বস্তুতে থাকতে পারে। বিবেচনা করুন যে আমাদের একটি ডেটা-পরিষ্কারের ট্যাগ এবং এই সিভি থ্রেড রয়েছে: 1 , 2 , 3 , এবং 4
গাং - মনিকা পুনরায়

উত্তর:


12

যেমনটি আমি আমার মন্তব্যে উল্লেখ করেছি , সত্যিকারের উত্তর তৈরি করার জন্য প্রশ্নের পর্যাপ্ত বিবরণ নেই। যেহেতু আপনার সঠিক শর্তাদি খুঁজে পেতে এবং আপনার প্রশ্ন গঠনের ক্ষেত্রেও সহায়তা প্রয়োজন, তাই আমি সাধারণতার সাথে সংক্ষেপে কথা বলতে পারি।

আপনি যে শব্দটির সন্ধান করছেন তা হ'ল ডেটা ক্লিয়ারিং । এটি কাঁচা, খারাপ ফর্ম্যাট (নোংরা) ডেটা গ্রহণ এবং বিশ্লেষণের জন্য এটি আকারে নেওয়ার প্রক্রিয়া। ফর্ম্যাটগুলি ("দুটি" ) পরিবর্তন করা এবং নিয়মিত করা এবং সারি এবং কলামগুলি পুনর্গঠিত করা সাধারণ তথ্য সাফাইয়ের কাজ। 2

কিছু অর্থে, ডেটা সাফাই যে কোনও সফ্টওয়্যারে করা যেতে পারে এবং এটি এক্সেল বা আর এর মাধ্যমেও করা যেতে পারে both উভয় পছন্দের পক্ষে মতামত এবং নীতি থাকতে পারে:

  • এক্সেল: এক্সেল অবশ্যই ডেটা সাফ করার জন্য সবচেয়ে সাধারণ পছন্দ (আর ভাগ্য # 59 পিডিএফ দেখুন )। এটি পরিসংখ্যানবিদদের দ্বারা একটি দুর্বল পছন্দ হিসাবে বিবেচিত হয়। প্রাথমিক কারণটি হ'ল এটি নিশ্চিত করা শক্ত যে আপনি সমস্ত কিছু পেয়েছেন, বা আপনি সবকিছুকে অভিন্নতার সাথে দেখিয়েছেন এবং আপনার যে পরিবর্তন হয়েছে তার কোনও রেকর্ড নেই, তাই আপনি পরে এই পরিবর্তনগুলি পুনরায় দেখতে পারবেন না। এক্সেল ব্যবহারের বিপরীত দিকটি হ'ল আপনি কী করছেন তা দেখা সহজ হবে এবং পরিবর্তনগুলি করার জন্য আপনাকে খুব বেশি কিছু জানতে হবে না। (পরিসংখ্যানবিদরা পরবর্তীকালে একটি অতিরিক্ত কনস হিসাবে বিবেচনা করবেন )
  • আর: আর এর একটি খাড়া শেখার বক্ররেখা প্রয়োজন। আপনি যদি আর বা প্রোগ্রামিংয়ের সাথে খুব বেশি পরিচিত না হন, এক্সেল-এ খুব তাড়াতাড়ি এবং সহজে করা যায় এমন জিনিসগুলি আর-তে চেষ্টা করতে হতাশ হবে the অন্যদিকে, আপনাকে যদি আবার কখনও এটি করতে হয়, তবে শেখা হবে will সময় ভাল ব্যয় এছাড়াও, আর-তে ডেটা সাফ করার জন্য আপনার কোডটি লিখতে এবং সংরক্ষণ করার ক্ষমতা উপরে তালিকাভুক্ত কনসটি হ্রাস করবে। নীচে কয়েকটি লিঙ্ক রয়েছে যা আপনাকে আরগুলিতে এই কাজগুলি শুরু করতে সহায়তা করবে:

    স্ট্যাক ওভারফ্লোতে আপনি প্রচুর ভাল তথ্য পেতে পারেন :

    কুইক-আর একটি মূল্যবান সংস্থান:

    সংখ্যাগত মোডে নম্বর পাওয়া:

    আর সম্পর্কে শেখার আর একটি অমূল্য উত্স হ'ল ইউসিএলএর পরিসংখ্যান সহায়তা ওয়েবসাইট :

    শেষ অবধি, আপনি সর্বদা ভাল পুরানো গুগলের সাথে প্রচুর তথ্য সন্ধান করতে পারেন:

    • এই অনুসন্ধান: আর-তে ডেটা সাফ করা , বেশ কয়েকটি টিউটোরিয়াল উপস্থিত করেছে (যার মধ্যে আমি কোনটি এফটিআর দিয়ে কাজ করেছি না)।

আপডেট: আপনার 'স্টাডি ইউনিট' প্রতি একাধিক পরিমাপ (আপনার ক্ষেত্রে, একজন ব্যক্তি) আপনার ডেটাসেটের কাঠামো সম্পর্কিত এটি একটি সাধারণ সমস্যা। আপনার যদি প্রতিটি ব্যক্তির জন্য একটি সারি থাকে, তবে আপনার ডেটাটি 'প্রশস্ত' ফর্মের মধ্যে রয়েছে বলে মনে করা হয় তবে অবশ্যই আপনার প্রতিক্রিয়া পরিবর্তনের জন্য একাধিক কলাম থাকবে, উদাহরণস্বরূপ। অন্যদিকে, আপনার প্রতিক্রিয়া ভেরিয়েবলের জন্য আপনার কেবলমাত্র একটি কলাম থাকতে পারে (তবে ব্যক্তি হিসাবে একাধিক সারি রয়েছে) ফলস্বরূপ, যেখানে আপনার ডেটাটি 'লম্বা' আকারে রয়েছে। এই দুটি ফর্ম্যাটের মধ্যে স্থানান্তরকে প্রায়শই আপনার ডেটা 'পুনরায় আকার দেওয়ার' বলা হয়, বিশেষত আর বিশ্বে।

  • এর জন্য স্ট্যান্ডার্ড আর ফাংশনটি পুনরায় আকার দিন । ইউসিএলএর পরিসংখ্যান সহায়তা ওয়েবসাইটে ব্যবহার করার জন্য একটি গাইড রয়েছেreshape()
  • অনেকের reshapeসাথে কাজ করা কঠিন বলে মনে হয়। হ্যাডলি উইকহাম পুনরায় আকার 2 নামে একটি প্যাকেজ অবদান রেখেছে , যা প্রক্রিয়াটি সহজ করার উদ্দেশ্যে। পুনর্নির্মাণের জন্য হ্যাডলির ব্যক্তিগত ওয়েবসাইটটি এখানে , দ্রুত-আর-ওভারভিউ এখানে , এবং এখানে একটি দুর্দান্ত চেহারার টিউটোরিয়াল রয়েছে
  • ডেটা পুনরায় আকার দেওয়ার পদ্ধতি সম্পর্কে এসও তে প্রচুর প্রশ্ন রয়েছে। তাদের মধ্যে বেশিরভাগই প্রশস্ত থেকে দীর্ঘ দিকে চলে যাচ্ছেন, কারণ এটি সাধারণত ডেটা বিশ্লেষকদের মুখোমুখি। আপনার প্রশ্নটি দীর্ঘ থেকে প্রশস্ত দিকে যাচ্ছেন, যা খুব কম সাধারণ তবে এটি সম্পর্কে এখনও অনেকগুলি থ্রেড রয়েছে, আপনি তাদের অনুসন্ধানের মাধ্যমে এটি দেখতে পারেন ।
  • আপনার হৃদয় যদি এক্সেলের সাথে এটি করার চেষ্টা করে থাকে, তবে এক্সেলের জন্য পুনরায় আকারের কার্যকারিতাটির প্রতিরূপ তৈরি করতে এখানে একটি ভিবিএ ম্যাক্রো লেখার বিষয়ে একটি থ্রেড রয়েছে: ভিবিএ ব্যবহার করে এক্সেলে গলে / পুনরায় আকার দিন?

2
এই প্রশ্ন এবং এই উত্তরটি কেন প্রোগ্রামিং সাক্ষরতার ক্রমবর্ধমান যে কোনও ধরণের গবেষণার জন্য ক্রমবর্ধমান প্রয়োজনীয়তার একটি দুর্দান্ত চিত্রণ। আমি এই প্রশ্নের একটি পূর্ণাঙ্গ উত্তর লিখতে যাচ্ছি যে আমি আমার ব্লগেও পোস্ট করতে যাচ্ছি, তবে আমি ভুলে যাওয়ার আগে এই মন্তব্যটি পেতে চাইছিলাম।
শ্যাডটলকার

2
আমি কিছুটা হলেও সম্মত তবে "প্রয়োজনীয়" এবং "যে কোনও ধরণের গবেষণা" কিছুটা দূরে চলেছে। অনেকগুলি শাখাগুলি প্রায়শই নোংরা ডেটা নিয়ে কাজ করে না এবং অনেক নেতৃস্থানীয় গবেষক কখনও কোনও প্রোগ্রামিং ভাষার স্পর্শ করার প্রয়োজন পড়ে না।
বেহাকাদ

বাহ, আপনাকে সবাইকে ধন্যবাদ এই সমস্ত তথ্য প্রক্রিয়া এবং সংহত করতে আমার কিছুটা সময় লাগবে যা আমার কাছে খুব নতুন। কিছুটা মেটা স্পর্শকাতর মনে হচ্ছে আমার প্রশ্নটি নিয়ে আমি উত্সাহ পেয়েছি ... কল্পনা করুন যে নিজেকে কোনও বিদেশী দেশে ফেলে দেওয়া হয়েছে যার ভাষা / সংস্কৃতি সম্পর্কে জ্ঞান নেই, এটি আমি এবং পরিসংখ্যান। আপনারা সবাই আপনার প্রতিক্রিয়া দেখানোর সময়কে আমি প্রশংসা করি।
উইলকো

আমি আমার প্রাথমিক প্রশ্নটি পরিষ্কার করার আশায় একটি সম্পাদনা যুক্ত করেছি, যদিও প্রশ্নটি বন্ধ মনে হচ্ছে।
উইলকো

প্রশ্নটি বন্ধ, @ ব্যবহারকারী ৪৮৮৮৮, এবং এই সংস্করণটি পূর্বের তুলনায় আরও স্পষ্টভাবে অফ-টপিক, দুর্ভাগ্যক্রমে। আপনার যদি 10 কে সারি থাকে তবে আপনি অবশ্যই এক্সেলে এটি করার চেষ্টা করতে চান না। আপনাকে সত্যিই আর বা অনুরূপ প্রোগ্রামিং সফ্টওয়্যার ব্যবহার করতে হবে। নির্দিষ্ট অপারেশনের নাম হ'ল 'লম্বা' থেকে 'প্রশস্ত' আপনার ডেটাসেটটি পুনরায় আকার দেওয়া, আমি আপনার জন্য আরও কয়েকটি লিঙ্ক যুক্ত করব। এছাড়াও, আপনি যদি কোনও স্নাতক স্বেচ্ছাসেবক হন, তবে আপনার পরিসংখ্যান বা প্রোগ্রামিংয়ের ক্ষেত্রে কোনও পটভূমি কম নয়, আইএমএইচও, যে কেউ আপনাকে এই দায়িত্ব অর্পণ করবে এটি অত্যন্ত দায়িত্বজ্ঞানহীন ছিল। এটি আপনার কাজ হওয়ার কোনও উপায় নেই।
গুং - মনিকা পুনরায়

0

আর ব্যবহার করে নিম্নলিখিত চেষ্টা করুন:

> ddf
   sess_id user_id     quest  response
1        1       a       age        29
2        1       a satisfied  st_agree
3        1       a    gender      male
4        1       a     phone    iphone
5        2       a       age        29
6        2       a satisfied not_agree
7        2       a    gender    female
8        2       a     phone    iphone
9        3       b       age        29
10       3       b satisfied     agree
11       3       b    gender      male
12       3       b     phone   android
> 
> library(reshape2)
> dcast(ddf, sess_id+user_id ~ quest, value.var='response')
  sess_id user_id age gender   phone satisfied
1       1       a  29   male  iphone  st_agree
2       2       a  29 female  iphone not_agree
3       3       b  29   male android     agree

0

স্কেলে এটিকে "বিস্ফোরিত" অপারেশন বলা হয় এবং এটি একটি ডেটা ফ্রেমে করা যেতে পারে। যদি আপনার ডেটা আরডিডি হয়, আপনি প্রথমে toDFকমান্ডের মাধ্যমে ডেটা ফ্রেমে রূপান্তর করুন এবং তারপরে .explodeপদ্ধতিটি ব্যবহার করুন ।

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