মানগুলির স্রোতের জন্য প্রাথমিক পরিসংখ্যান গণনা করার জন্য কমান্ড-লাইন সরঞ্জাম [বন্ধ]


27

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


1
আমি কটাক্ষপাত করা কাছে সুপারিশ করব STAT | । এটি একটি দুর্দান্ত পুরানো সফ্টওয়্যার, তবুও এ জাতীয় জিনিসগুলির জন্য এটি খুব সুবিধাজনক। এর রয়েছে pyp , এবং বিভিন্ন অন্যান্য ইউনিক্স সরঞ্জাম।
chl

@ chl লিংক ISTAT টি ভাঙ্গা। দয়া করে এটি আপডেট করতে পারেন বা একটি উত্তর দিতে পারেন?
লিও লোপোল্ড হার্টজ 준영

1
@ ম্যাসি ইউপ, দেখে মনে হচ্ছে পৃষ্ঠাটি আর নেই। এখানে একটি আপডেট লিঙ্ক
chl

উত্তর:


22

আপনি আর এর সাহায্যে এটি করতে পারেন যা কিছুটা ওভারকিল হতে পারে ...

সম্পাদনা 2: [ওওপিএস, দেখে মনে হচ্ছে যে আমি আবারও টাইপ করার সময় অন্য কেউ রুপলিপি দিয়ে আঘাত করেছে]] আমি একটি সহজ উপায় খুঁজে পেয়েছি। আর এর সাথে ইনস্টল করা রুপির স্ক্রিপ্ট হওয়া উচিত, যা আপনি যা করার চেষ্টা করছেন তা বোঝাতে। উদাহরণস্বরূপ, আমার কাছে যদি এমন কোনও ফাইল থাকে barযার সংখ্যার একটি তালিকা থাকে, প্রতি লাইনে একটি:

cat bar | Rscript -e 'summary (as.numeric (readLines ("stdin")))'

এই সংখ্যাগুলি আর- summaryতে পাইপ করবে এবং লাইনগুলিতে আর-এর কমান্ড চালাবে , এমন কিছু ফিরে আসবে:

   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
   1.00    2.25    3.50    3.50    4.75    6.00 

আপনি এর মতো কিছু করতেও পারেন:

script -e 'quantile (as.numeric (readLines ("stdin")), probs=c(0.025, 0.5, 0.975))'

কোয়ান্টাইল পেতে এবং আপনি সম্ভবত আউটপুট প্রথম লাইন (যে লেবেল রয়েছে) এর মতো কিছু দিয়ে কাটাতে পারে:

cat bar | Rscript -e 'summary (as.numeric (readLines ("stdin")))' | tail -n +2

আপনি প্রথমে ইন্টারেক্টিভ আর এ যা করতে চান তা করার জন্য সুপারিশ করব, যাতে আপনার কমান্ডটি ঠিক আছে কিনা তা নিশ্চিত করতে। এটি চেষ্টা করে, আমি সমাপনী বন্ধনী ছেড়ে গিয়েছি এবং রুপির লিপি কিছুই দেয় না - কোনও ত্রুটি বার্তা নেই, ফলাফল নেই, ঠিক কিছুই নয়।

(রেকর্ডের জন্য, ফাইল বারের মধ্যে রয়েছে:

1
2
3
4
5
6

সুতরাং, আমার এই প্রবাহগুলি কি সেই Rআদেশগুলির সাথে প্রতিরোধ করা উচিত ?
এমবাইটোফ 20'12

@ এমবাইটফ: হ্যাঁ আমার পরীক্ষার জন্য, আমি একটি ফাইল তৈরি করেছি fooযা এতে summary (as.numeric (readLines()))প্রথম লাইন হিসাবে অন্তর্ভুক্ত রয়েছে , তারপরে বাকী ফাইলটির জন্য প্রতি লাইনে একটি সংখ্যক ডেটা আইটেম রয়েছে। এটি কেবল readLines()স্টিডিন থেকে পড়ছে (যা ফাইলের শেষ অবধি সমস্ত কিছু অনুসরণ করে)।
ওয়েন

দেখে মনে হচ্ছে আমরা Rউভয় জবাবকে গুরুত্ব সহকারে আটকেছি এবং মনে হচ্ছে এটি একটি ক্ষুদ্র কাজটির জন্য একটি বিশাল সরঞ্জাম। ঠিক আছে, উত্তরগুলি কাজ করে, তবে যাইহোক, বাদে অন্য কিছু আছে R?
এমবাইটফ

2
@ এমবাইটফ: আপনি পাইথনটি ব্যবহার করতে পারেন scipy, বিশেষত যদি আপনি ইতিমধ্যে পাইথন ব্যবহার করেন। আপনি যদি ক্লোজিউর ব্যবহার করেন / পছন্দ করেন (জেভিএম ভিত্তিক লিজ্প , ক্লোজিউর.অর্গ ), তার উপর নির্মিত Incanter( ইনকানটার.অর্গ ) পরিসংখ্যানগত পরিবেশ রয়েছে। আপনি gnu অক্টাভা চেষ্টা করতে পারেন।
ওয়েইন

21

"স্ট্যান্ড" ব্যবহার করে দেখুন:

$ seq 1 10 | st
N   min   max   sum   mean  stddev
10  1     10    55    5.5   3.02765

$ seq 1 10 | st --transpose
N       10
min     1
max     10
sum     55
mean    5.5
stddev  3.02765

আপনি পাঁচটি সংখ্যার সারাংশও দেখতে পাবেন:

$ seq 1 10 | st --summary
min  q1    median   q3    max
1    3.5   5.5      7.5   10

আপনি এখানে এটা ডাউনলোড করতে পারেন:

https://github.com/nferraz/st

(অস্বীকৃতি: আমি এই সরঞ্জামটি লিখেছি :))


সাইটটিতে আপনাকে স্বাগতম, @ user2747481। আপনি কি এই উত্তরটি কিছুটা চাপিয়ে দেবেন? আমরা আমাদের উত্তরগুলি বেশিরভাগ স্বনির্ভর থাকতে চাই। আপনি যেহেতু এখানে নতুন, আপনি আমাদের সম্পর্কে পৃষ্ঠাটি পড়তে চাইতে পারেন , যাতে নতুন ব্যবহারকারীদের জন্য তথ্য রয়েছে।
গুং - মনিকা পুনরায়

ধন্যবাদ! 2019 হিসাবে stহোমব্রিউয়ের মাধ্যমে উপলভ্যbrew install st
নোহ সুসমান

stএছাড়াও রেফারেন্স হতে পারে সাবধান simple terminal
স্কিপি লে গ্র্যান্ড গৌরু

10

R একটি স্ক্রিপ্ট বলে একটি কমান্ড সরবরাহ করে । আপনার যদি কেবল কয়েকটি নম্বর থাকে যা আপনি কমান্ড লাইনে পেস্ট করতে পারেন তবে এই একটি লাইনার ব্যবহার করুন:

Rscript -e 'summary(as.numeric(commandArgs(TRUE)))' 3 4 5 9 7

ফলাফল যা

Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
3.0     4.0     5.0     5.6     7.0     9.0 

আপনি যদি স্ট্যান্ডার্ড ইনপুট থেকে পড়তে চান তবে এটি ব্যবহার করুন:

echo 3 4 5 9 7 | Rscript -e 'summary(as.numeric(read.table(file("stdin"))))'

স্ট্যান্ডার্ড ইনপুটটিতে নম্বর যদি ক্যারেজ রিটার্ন দ্বারা পৃথক করা হয় (অর্থাত্ প্রতি লাইনে একটি নম্বর), ব্যবহার করুন

Rscript -e 'summary(as.numeric(read.table(file("stdin"))[,1]))'

এই কমান্ডগুলির জন্য একটি উপকরণ তৈরি করতে পারে:

alias summary='Rscript -e "summary(as.numeric(read.table(file(\"stdin\"))[,1]))"'
du -s /usr/bin/* | cut -f1 | summary
Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
0.0     8.0    20.0    93.6    44.0  6528.0

+1: দুঃখিত, আমি সবেমাত্র লিপিটি পেয়েছি এবং এটিতে অন্তর্ভুক্ত করার জন্য আমার উত্তরটি সম্পাদনা করেছি, সুতরাং আমরা একইরকম উত্তর দিয়ে শেষ করেছি। আপনার read.tableধারণাটি প্রতি-লাইনে এক-আইটেম-পাওয়ার জন্য একটি দুর্দান্ত উপায়।
ওয়েইন

ঠিক আছে, স্বীকৃতি এবং +1 এর জন্য ধন্যবাদ।
অর্ণাড এ

3

দাতামাশ আরেকটি দুর্দান্ত বিকল্প। এটি জিএনইউ প্রকল্পের।

আপনার যদি হোমব্রিউ / লিনাক্সব্রু থাকে তবে আপনি এটি করতে পারেন:

brew install datamash


2

সিম্পল-আরও রয়েছে, যা আর করতে পারে এমন প্রায় সব কিছু করতে পারে তবে কম কীস্ট্রোক সহ:

https://code.google.com/p/simple-r/

প্রাথমিক বর্ণনামূলক পরিসংখ্যান গণনা করতে, একটিতে একটি টাইপ করতে হবে:

r summary file.txt
r summary - < file.txt
cat file.txt | r summary -

কোনও সরল-আর পায় না!


2

স্টা রয়েছে, যা একটি সি ++ ভেরিয়েন্ট, এই মন্তব্যগুলিতে উল্লেখ করা হয়েছে।

সি ++ এ লিখিত হওয়ায় এটি দ্রুত এবং বড় ডেটাসেটগুলি পরিচালনা করতে পারে। এটি ব্যবহার করা সহজ, পক্ষপাতদুষ্ট বা পক্ষপাতদুষ্ট অনুমানকারীদের পছন্দ অন্তর্ভুক্ত এবং স্ট্যান্ডার্ড ত্রুটির মতো আরও বিশদ তথ্য আউটপুট করতে পারে।

আপনি গিথুবে স্টা ডাউনলোড করতে পারেন ।

দাবি অস্বীকার: আমি স্টা এর লেখক ।


1

সেক্ষেত্রে ডাটাস্ট্যাট আছে

https://sourceforge.net/p/datastat/code/

কমান্ড-লাইন থেকে লিনাক্সের সাধারণ পরিসংখ্যানগুলির জন্য একটি সাধারণ প্রোগ্রাম। উদাহরণ স্বরূপ,

বিড়াল ফাইল.ড্যাট | datastat

file.dat এর প্রতিটি কলামের জন্য সমস্ত সারি জুড়ে গড় মান আউটপুট দেবে। যদি আপনার স্ট্যান্ডার্ড বিচ্যুতি, ন্যূনতম, সর্বাধিক, জানতে প্রয়োজন হয় তবে আপনি যথাক্রমে - দেব, - মিন এবং - ম্যাক্স বিকল্পগুলি যুক্ত করতে পারেন।

এক বা একাধিক "কী" কলামগুলির মানের উপর ভিত্তি করে ডেটাস্যাটটিতে সারিগুলি একত্রিত করার সম্ভাবনা রয়েছে।

এটি সি ++ তে লেখা রয়েছে, দ্রুত এবং ছোট মেমরির পেশার সাথে চালিত হয় এবং কাট, গ্রেপ, সেড, সাজান, আড্ডা ইত্যাদির মতো অন্যান্য সরঞ্জামগুলির সাথে সুন্দরভাবে পাইপ দেওয়া যায়


1

আপনি ক্লিস্ট্যাট ব্যবহার বিবেচনা করতে পারেন । সীমিত ইনপুট সংখ্যার স্ট্রিমের পরিসংখ্যান গণনা করার জন্য এটি একটি অত্যন্ত কনফিগারযোগ্য কমান্ড লাইন ইন্টারফেস সরঞ্জাম tool

I / O বিকল্পসমূহ

  • ইনপুট ডেটা কোনও ফাইল, স্ট্যান্ডার্ড ইনপুট বা পাইপ হতে পারে
  • আউটপুট কোনও ফাইল, স্ট্যান্ডার্ড আউটপুট, বা পাইপে লেখা যেতে পারে
  • আউটপুট জিনুপ্লটকে পাইপিং সক্ষম করতে "#" দিয়ে শুরু হওয়া শিরোনাম ব্যবহার করে

পার্সিং বিকল্পগুলি

  • প্রক্রিয়া বন্ধ করার জন্য সিগন্যাল, ফাইলের শেষে বা ফাঁকা লাইন ভিত্তিক সনাক্তকরণ
  • মন্তব্য এবং ডিলিমিটার অক্ষর সেট করা যেতে পারে
  • প্রক্রিয়াজাতকরণ থেকে কলামগুলি ফিল্টার করা যায়
  • সংখ্যার সীমাবদ্ধতার ভিত্তিতে প্রসেসিং থেকে সারিগুলি ফিল্টার করা যায়
  • স্ট্রিং বাধার ভিত্তিতে সারিগুলি প্রক্রিয়াজাতকরণ থেকে ফিল্টার আউট করা যায়
  • প্রাথমিক শিরোনাম সারিগুলি এড়িয়ে যেতে পারে
  • সারিগুলির নির্দিষ্ট সংখ্যক প্রক্রিয়াজাত করা যায়
  • সদৃশ সীমানা উপেক্ষা করা যেতে পারে
  • সারিগুলি কলামগুলিতে পুনরায় আকার দেওয়া যেতে পারে
  • কঠোরভাবে প্রয়োগ করুন যে একই আকারের সারিগুলি কেবলমাত্র প্রক্রিয়াজাত হয়
  • আউটপুট পরিসংখ্যান শিরোনামে কলামের শিরোনামযুক্ত একটি সারি ব্যবহার করা যেতে পারে

পরিসংখ্যান বিকল্প

  • সংক্ষিপ্ত পরিসংখ্যান (গণনা, সর্বনিম্ন, গড়, সর্বোচ্চ, মান বিচ্যুতি)
  • সহভেদাংক
  • অনুবন্ধ
  • স্বল্প স্কোয়ার অফসেট হয়
  • স্বল্প স্কোয়ারের slাল
  • বারলেখ
  • ফিল্টারিংয়ের পরে কাঁচা ডেটা

দ্রষ্টব্য: আমি লেখক।


1

ইয়া সরঞ্জাম যা পরিসংখ্যান গণনা এবং ASCII মোডে বিতরণ দেখার জন্য ব্যবহৃত হতে পারে তা মিনিস্ট্যাট । এটি ফ্রিবিএসডি-র একটি সরঞ্জাম, তবে এটি ডেবিয়ান / উবুন্টুর মতো জনপ্রিয় লিনাক্স বিতরণের জন্যও প্যাকেজ করেছে।

ব্যবহারের উদাহরণ:

$ cat test.log 
Handled 1000000 packets.Time elapsed: 7.575278
Handled 1000000 packets.Time elapsed: 7.569267
Handled 1000000 packets.Time elapsed: 7.540344
Handled 1000000 packets.Time elapsed: 7.547680
Handled 1000000 packets.Time elapsed: 7.692373
Handled 1000000 packets.Time elapsed: 7.390200
Handled 1000000 packets.Time elapsed: 7.391308
Handled 1000000 packets.Time elapsed: 7.388075

$ cat test.log| awk '{print $5}' | ministat -w 74
x <stdin>
+--------------------------------------------------------------------------+
| x                                                                        |
|xx                                   xx    x x                           x|
|   |__________________________A_______M_________________|                 |
+--------------------------------------------------------------------------+
    N           Min           Max        Median           Avg        Stddev
x   8      7.388075      7.692373       7.54768     7.5118156    0.11126122

0

x¯n=(n1)x¯n1+xnn
sn2=Snn1
Sn=Sn1+(xnx¯n1)(xnx¯n).

x¯0=S0=0


xiFLOAT_MAX-1.0xixi+1xixi1

এটি আসলে ক্লিস্ট্যাটগুলিই করে (বিশদ এবং অন্যান্য বৈশিষ্ট্যগুলির উত্তর দেখুন)।
dpmcMLxxvi

0

অন্য কিছু খুঁজছে এই পুরানো থ্রেড জুড়ে হোঁচট খেয়েছে। একই জিনিসটি চেয়েছিল, সহজ কিছু খুঁজে পেল না, তাই এটি পার্লে, মোটামুটি তুচ্ছ, তবে এটি একাধিকবার দিনে ব্যবহার করুন: http://moo.nac.uci.edu/~hjm/stats

উদাহরণ:

 $ ls -l | scut -f=4 | stats                
Sum       9702066453
Number    501
Mean      19365402.1017964
Median    4451
Mode      4096  
NModes    15
Min       0
Max       2019645440
Range     2019645440
Variance  1.96315423371944e+16
Std_Dev   140112605.91822
SEM       6259769.58393047
Skew      10.2405932543676
Std_Skew  93.5768354979843
Kurtosis  117.69005473429

(স্কুটটি ধীরে ধীরে, তবে কাটা সংস্করণের পক্ষে তাত্ক্ষণিক সহজ): http://moo.nac.uci.edu/~hjm/scut বর্ণিত: http://moo.nac.uci.edu/~hjm/scut_cols_HOWTO। এইচটিএমএল


0

আর একটি সরঞ্জাম: ইবেয়ের টিএসভি ইউটিলিটিগুলি থেকে tsv- সংক্ষিপ্তকরণ । ন্যূনতম, সর্বোচ্চ, গড়, মধ্যম, কোয়ান্টাইলস, মানক বিচ্যুতি, এমএডি এবং আরও কয়েকটি বুনিয়াদি সংক্ষিপ্ত পরিসংখ্যানের অনেকগুলি সমর্থন করে। এটি বৃহত ডেটাসেটের জন্য উদ্দেশ্যে এবং একাধিক ক্ষেত্র এবং কী দ্বারা গোষ্ঠীকরণ সমর্থন করে। আউটপুট ট্যাব পৃথক করা হয়। 1 থেকে 1000 সংখ্যার ক্রমের উদাহরণ, প্রতি লাইনে একটি:

$ seq 1000 | tsv-summarize --min 1 --max 1 --median 1 --sum 1
1   1000    500.5   500500

শিরোনামগুলি সাধারণত ইনপুটটিতে একটি শিরোনাম লাইন থেকে উত্পন্ন হয়। যদি ইনপুটটির কোনও শিরোনাম না থাকে তবে একটিটি -wস্যুইচ ব্যবহার করে যুক্ত করা যায় :

$ seq 1000 | tsv-summarize -w --min 1 --max 1 --median 1 --sum 1
field1_min  field1_max  field1_median   field1_sum
1   1000    500.5   500500

দাবি অস্বীকার: আমি লেখক।

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