ນີ້ແມ່ນຄໍາສັ່ງ datamash ທີ່ສາມາດດໍາເນີນການໄດ້ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີໂດຍໃຊ້ຫນຶ່ງໃນຫຼາຍໆບ່ອນເຮັດວຽກອອນໄລນ໌ຂອງພວກເຮົາເຊັ່ນ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS online emulator
ໂຄງການ:
NAME
datamash - ການຄິດໄລ່ເສັ້ນຄໍາສັ່ງ
ສະຫຼຸບສັງລວມ
datamash [ທາງເລືອກ] op [col] [op col ... ]
ລາຍລະອຽດ
ປະຕິບັດການຕົວເລກ/ສະຕຣິງໃນການປ້ອນຂໍ້ມູນຈາກ stdin.
'op' ແມ່ນການປະຕິບັດງານເພື່ອປະຕິບັດ; ສໍາລັບການຈັດກຸ່ມ, ການດໍາເນີນການຕໍ່ແຖວ 'col' ແມ່ນການປ້ອນຂໍ້ມູນ
ພາກສະຫນາມທີ່ຈະນໍາໃຊ້; 'col' ສາມາດເປັນຕົວເລກ (1=first field), ຫຼືຊື່ຖັນໃນເວລາໃຊ້ -H or
--header-in ຕົວເລືອກ
ເອກະສານ ການປະຕິບັດງານ:
transpose, ປີ້ນກັບກັນ
ການກັ່ນຕອງເສັ້ນ ການປະຕິບັດງານ:
rmdup
ຕໍ່ແຖວ ການປະຕິບັດງານ:
base64, debase64, md5, sha1, sha256, sha512
Numeric ການຈັດກຸ່ມ ການປະຕິບັດງານ:
sum, min, max, absmin, absmax
ຕົວໜັງສື/ຕົວເລກ ການຈັດກຸ່ມ ການປະຕິບັດງານ:
ນັບ, ທໍາອິດ, ສຸດທ້າຍ, rand, ເປັນເອກະລັກ, ຫຍໍ້, countunique
ສະຖິຕິ ການຈັດກຸ່ມ ການປະຕິບັດງານ:
mean, median, q1, q3, iqr, mode, antimode, pstdev, sstdev, pvar svar, mad, madraw,
pskew, sskew, pkurt, skurt, dpo, jarque
OPTIONS
ການຈັດກຸ່ມ ຕົວເລືອກ:
-f, -- ເຕັມ
ພິມເສັ້ນປ້ອນຂໍ້ມູນທັງໝົດກ່ອນຜົນໄດ້ຮັບ op (ຄ່າເລີ່ມຕົ້ນ: ພິມສະເພາະປຸ່ມທີ່ຈັດກຸ່ມເທົ່ານັ້ນ)
-g, --ກຸ່ມ=X[,Y,Z]
ກຸ່ມຜ່ານຊ່ອງຂໍ້ມູນ X,[Y,Z]
--header-in
ແຖວການປ້ອນຂໍ້ມູນທຳອິດແມ່ນສ່ວນຫົວຖັນ
--ຫົວອອກ
ພິມຫົວຖັນເປັນແຖວທຳອິດ
-H, --ສ່ວນຫົວ
ຄືກັນກັບ '--header-in --ຫົວອອກ'
-i, -- ignore-case
ບໍ່ສົນໃຈຕົວພິມໃຫຍ່/ນ້ອຍເມື່ອປຽບທຽບຂໍ້ຄວາມ; ນີ້ມີຜົນກະທົບຕໍ່ການຈັດກຸ່ມ, ແລະສະຕຣິງ
ການດໍາເນີນງານ
-s, --ຄັດ
ຮຽງລໍາດັບການປ້ອນຂໍ້ມູນກ່ອນທີ່ຈະຈັດກຸ່ມ; ນີ້ກໍາຈັດຄວາມຕ້ອງການທີ່ຈະທໍ່ການປ້ອນຂໍ້ມູນດ້ວຍຕົນເອງ
ໂດຍຜ່ານ 'ຄັດ'
ເອກະສານ ການດໍາເນີນງານ ຕົວເລືອກ:
--ບໍ່ເຄັ່ງຄັດ
ອະນຸຍາດໃຫ້ເສັ້ນທີ່ມີຈໍານວນທີ່ແຕກຕ່າງກັນຂອງຊ່ອງຂໍ້ມູນ
--ເຄື່ອງຕື່ມ=X
ຕື່ມຄ່າທີ່ຂາດຫາຍໄປດ້ວຍ X (ຄ່າເລີ່ມຕົ້ນ %s)
ໂດຍທົ່ວໄປ ຕົວເລືອກ:
-t, --field-separator=X
ໃຊ້ X ແທນ TAB ເປັນຕົວຂັ້ນຊ່ອງຂໍ້ມູນ
--narm ຂ້າມຄ່າ NA/NaN
-W, -- ຊ່ອງຫວ່າງ
ໃຊ້ຍະຫວ່າງ (ໜຶ່ງ ຫຼືຫຼາຍຊ່ອງ ແລະ/ຫຼືແຖບ) ສໍາລັບຕົວຂັ້ນຊ່ອງຂໍ້ມູນ
-z, --ສູນ-ຢຸດ
ເສັ້ນສິ້ນສຸດດ້ວຍ 0 byte, ບໍ່ແມ່ນແຖວໃໝ່
- ຊ່ວຍ ສະແດງການຊ່ວຍເຫຼືອນີ້ແລະອອກ
- ການປ່ຽນແປງ
ຜົນຜະລິດສະບັບຂໍ້ມູນແລະອອກ
ທີ່ມີຢູ່ ວຽກງານຕ່າງໆ
ເອກະສານ ການປະຕິບັດງານ:
ຫັນປ່ຽນ transpose ແຖວ, ຖັນຂອງໄຟລ໌ປ້ອນຂໍ້ມູນ
ຍ້ອນກັບ ຄໍາສັ່ງພາກສະຫນາມ reverse ໃນແຕ່ລະເສັ້ນ
ການກັ່ນຕອງເສັ້ນ ການປະຕິບັດງານ:
rmdup ເອົາເສັ້ນທີ່ມີຄ່າລະຫັດທີ່ຊ້ໍາກັນ
ຕໍ່ແຖວ ການປະຕິບັດງານ:
ຖານ 64 ເຂົ້າລະຫັດພາກສະຫນາມເປັນ base64
debbase64 ຖອດລະຫັດຊ່ອງຂໍ້ມູນເປັນ base64, ອອກໄປດ້ວຍຄວາມຜິດພາດຖ້າ string base64 ບໍ່ຖືກຕ້ອງ
md5/sha1/sha256/sha512
ຄິດໄລ່ md5/sha1/sha256/sha512 hash ຂອງຄ່າຊ່ອງຂໍ້ມູນ
ຍ້ອນກັບ ຄໍາສັ່ງພາກສະຫນາມ reverse ໃນແຕ່ລະເສັ້ນ
Numeric ການຈັດກຸ່ມ ການດໍາເນີນງານ
sum ລວມມູນຄ່າ
ນາທີ ມູນຄ່າ ຕຳ ່ສຸດ
ສູງສຸດທີ່ເຄຍ ມູນຄ່າສູງສຸດ
absmin ຕໍາ່ສຸດທີ່ຂອງຄ່າຢ່າງແທ້ຈິງ
absmax ສູງສຸດຂອງຄ່າຢ່າງແທ້ຈິງ
ຕົວໜັງສື/ຕົວເລກ ການຈັດກຸ່ມ ການດໍາເນີນງານ
ນັບ ນັບຈໍານວນຂອງອົງປະກອບໃນກຸ່ມ
ຄັ້ງທໍາອິດ ມູນຄ່າທໍາອິດຂອງກຸ່ມ
ສຸດທ້າຍ ມູນຄ່າສຸດທ້າຍຂອງກຸ່ມ
ໄຕ້ ນຶ່ງຄ່າສຸ່ມຈາກກຸ່ມ
ເປັນເອກະລັກ ລາຍຊື່ການຈັດຮຽງທີ່ຂັ້ນດ້ວຍເຄື່ອງໝາຍຈຸດຂອງຄ່າທີ່ບໍ່ຊໍ້າກັນ
collapse ບັນຊີລາຍຊື່ທີ່ຂັ້ນດ້ວຍເຄື່ອງໝາຍຈຸດຂອງຄ່າການປ້ອນຂໍ້ມູນທັງໝົດ
countunique ຈໍານວນຂອງຄ່າທີ່ເປັນເອກະລັກ / ທີ່ແຕກຕ່າງກັນ
ສະຖິຕິ ການຈັດກຸ່ມ ການດໍາເນີນງານ
ຫມາຍຄວາມວ່າ ຄ່າສະເລ່ຍ
ປານກາງ ມູນຄ່າປານກາງ
q1 ຄ່າ quartile ທີ 1
q3 ຄ່າ quartile ທີ 3
iqr ລະດັບລະດັບເຄິ່ງໄຕມາດ
ຮູບແບບການ ຄ່າໂໝດ (ຄ່າທົ່ວໄປທີ່ສຸດ)
antimode ຄ່າຕ້ານໂໝດ (ຄ່າທົ່ວໄປໜ້ອຍສຸດ)
pstdev ການບ່ຽງເບນມາດຕະຖານປະຊາກອນ
sstdev ຕົວຢ່າງມາດຕະຖານ deviation
pvar ຄວາມແຕກຕ່າງຂອງປະຊາກອນ
ຄໍາຕອບ ຄວາມແຕກຕ່າງຂອງຕົວຢ່າງ
mad ການບ່ຽງເບນຢ່າງແທ້ຈິງປານກາງ, ປັບຂະຫນາດໂດຍຄົງທີ່ 1.4826 ສໍາລັບການແຈກຢາຍປົກກະຕິ
ມາດຣູ ການບ່ຽງເບນຢ່າງແທ້ຈິງປານກາງ, ບໍ່ໄດ້ປັບຂະໜາດ
sskew skewness ຂອງກຸ່ມ (ຕົວຢ່າງ).
pskew skewness ຂອງກຸ່ມ (ປະຊາກອນ).
ຄ່າ x ລາຍງານໂດຍການດໍາເນີນງານ 'sskew' ແລະ 'pskew':
x > 0 - ເບກທາງບວກ / ບິດຂວາ
0 > x - ຫັນທາງລົບ / skewed ຊ້າຍ
x > 1 - ເບງຂວາສູງ
1 > x > 0.5 - ເລື່ອນໄປທາງຂວາປານກາງ
0.5 > x > -0.5 - ປະມານສົມມາດ
-0.5 > x > -1 - ເລື່ອນໄປທາງຊ້າຍປານກາງ
-1 > x - ຫັນໄປທາງຊ້າຍສູງ
skurt Kurtosis ເກີນຂອງກຸ່ມ (ຕົວຢ່າງ).
pkurt Kurtosis ເກີນຂອງກຸ່ມ (ປະຊາກອນ).
ໄຫຫີນ p-value ຂອງການທົດສອບ Jarque-Beta ສໍາລັບຄວາມເປັນປົກກະຕິ
dpo p-value ຂອງການທົດສອບ D'Agostino-Pearson Omnibus ສໍາລັບຄວາມເປັນປົກກະຕິ;
ສໍາລັບການປະຕິບັດງານ 'jarque' ແລະ 'dpo':
null hypothesis ແມ່ນປົກກະຕິ;
p-Values ຕ່ໍາຊີ້ໃຫ້ເຫັນຂໍ້ມູນທີ່ບໍ່ແມ່ນປົກກະຕິ;
p-Values ສູງຊີ້ບອກ null-hypothesis ບໍ່ສາມາດຖືກປະຕິເສດ.
ຕົວຢ່າງ
ພິມຜົນບວກ ແລະຄ່າສະເລ່ຍຈາກຖັນທີ 1:
$ seq 10 | datamash ຜົນລວມ 1 ໝາຍເຖິງ 1
55 5.5
ການປ້ອນຂໍ້ມູນກຸ່ມໂດຍອີງໃສ່ຊ່ອງຂໍ້ມູນ 1, ແລະຄ່າລວມ (ຕໍ່ກຸ່ມ) ໃນຊ່ອງຂໍ້ມູນ 2:
$ cat example.txt
A 10
A 5
B 9
B 11
$ datamash -g 1 ຜົນບວກ 2 < example.txt
A 15
B 20
ການປ້ອນຂໍ້ມູນທີ່ບໍ່ໄດ້ຈັດຮຽງຈະຕ້ອງຖືກຈັດຮຽງ (ດ້ວຍ '-s'):
$ cat example.txt
A 10
C 4
B 9
C 1
A 5
B 11
$ datamash -s -g1 sum 2 < example.txt
A 15
B 20
C 5
ເຊິ່ງເທົ່າກັບ:
$ cat example.txt | ຄັດ -k1,1 | datamash -g 1 ບວກ 2
ການນໍາໃຊ້ -h (--ສ່ວນຫົວ) ຖ້າໄຟລ໌ປ້ອນຂໍ້ມູນມີເສັ້ນຫົວ:
# ປະກອບເອກະສານທີ່ມີຊື່ນັກຮຽນ, ພາກສະໜາມ, ຄະແນນສອບເສັງ...
$ head -n5 scores_h.txt
ຊື່ຄະແນນຫຼັກ
Shawn Engineering 47
Caleb Business 87
ຄຣິສຕຽນທຸລະກິດ 88
Derek Arts 60
# ຄິດໄລ່ຄ່າສະເລ່ຍແລະມາດຕະຖານ devian ສໍາລັບແຕ່ລະທີ່ສໍາຄັນ
$ datamash --sort --headers --group 2 mean 3 pstdev 3 < scores_h.txt
(ຫຼືໃຊ້ແບບຟອມສັ້ນ)
$ datamash -sH -g2 ຫມາຍຄວາມວ່າ 3 pstdev 3 < scores_h.txt
(ຫຼືໃຊ້ຖັນທີ່ມີຊື່)
$ datamash -sH -g ຄະແນນສະເລ່ຍຫຼັກ pstdev ຄະແນນ < scores_h.txt
GroupBy(Major) mean(Score) pstdev(Score)
ສິລະປະ 68.9 10.1
ທຸລະກິດ 87.3 4.9
ວິສະວະກຳ 66.5 19.1
Health-Medicine 90.6 8.8
ຊີວິດ - ວິທະຍາສາດ 55.3 19.7
ສັງຄົມ-ວິທະຍາສາດ 60.2 16.6
ລຳດັບຊ່ອງຂໍ້ມູນປີ້ນກັບແຕ່ລະແຖວ:
$ seq 6 | ວາງ - - | datamash ຍ້ອນກັບ
2 1
4 3
6 5
Transpose ແຖວ, ຖັນ:
$ seq 6 | ວາງ - - | datamash ຫັນປ່ຽນ
+1 3 5
+2 4 6
ເອົາເສັ້ນທີ່ມີຄ່າທີ່ຊໍ້າກັນອອກຈາກຖັນທີ 1 (ບໍ່ຄືກັບ ຄັ້ງທໍາອິດ,ສຸດທ້າຍ ການ ດຳ ເນີນງານ, rmdup
ແມ່ນໄວຂຶ້ນຫຼາຍແລະບໍ່ຮຽກຮ້ອງໃຫ້ມີການຈັດຮຽງໄຟລ໌ດ້ວຍ -s):
# ໃຫ້ບັນຊີລາຍຊື່ຂອງໄຟລ໌ແລະ IDs ຕົວຢ່າງ:
$ cat INPUT
ໄຟລ໌ SampleID
2 cc.txt
3 dd.txt
1 ab.txt
2 ee.txt
3 ff.txt
# ເອົາສາຍທີ່ມີ Sample-ID ທີ່ຊໍ້າກັນ (ຄໍລໍາ 1):
$ datamash rmdup 1 < ປ້ອນຂໍ້ມູນ
(ຫຼືໃຊ້ຊື່ຖັນ)
$ datamash -H rmdup SampleID < INPUT
ໄຟລ໌ SampleID
2 cc.txt
3 dd.txt
1 ab.txt
ຄິດໄລ່ຄ່າ sha1 hash ຂອງແຕ່ລະໄຟລ໌ TXT, ຫຼັງຈາກຄິດໄລ່ຄ່າ sha1 ຂອງແຕ່ລະ.
ເນື້ອໃນຂອງໄຟລ໌:
$ sha1sum *.txt | datamash -Wf sha1 2
ເພີ່ມເຕີມ ຂໍ້ມູນ
ເບິ່ງເວັບໄຊທ໌ GNU Datamash (http://www.gnu.org/software/datamash)
ໃຊ້ datamash ອອນໄລນ໌ໂດຍໃຊ້ບໍລິການ onworks.net