Ini adalah perintah funjoin yang dapat dijalankan di penyedia hosting gratis OnWorks menggunakan salah satu dari beberapa workstation online gratis kami seperti Ubuntu Online, Fedora Online, emulator online Windows atau emulator online MAC OS
PROGRAM:
NAMA
funjoin - gabungkan dua atau lebih tabel biner FITS pada kolom tertentu
RINGKASAN
bergabunglah [switch] ...
PILIHAN
-a cols # kolom untuk diaktifkan di semua file
-a1 cols ... sebuah cols # kolom untuk diaktifkan di setiap file
-b 'c1:bvl,c2:bv2' # nilai kosong untuk kolom umum di semua file
-bn 'c1:bv1,c2:bv2' # nilai kosong untuk kolom dalam file tertentu
-j col # kolom untuk bergabung di semua file
-j1 col ... jn col # kolom untuk bergabung di setiap file
-m min # min cocok untuk menghasilkan baris
-M max # max cocok untuk menghasilkan baris
-s # tambahkan kolom status 'jfiles'
-S col # tambahkan col sebagai kolom status
-t tol # toleransi untuk menggabungkan kolom numerik [hanya 2 file]
DESKRIPSI
bergabunglah menggabungkan baris dari dua atau lebih (hingga 32) file FITS Binary Table, berdasarkan:
nilai kolom gabungan yang ditentukan di setiap file. NB: kolom join harus ada index
file yang terkait dengannya. File-file ini dihasilkan menggunakan indeks fun program.
Argumen pertama untuk program menentukan tabel FITS input pertama atau file kejadian mentah.
Jika "stdin" ditentukan, data dibaca dari input standar. Argumen selanjutnya
tentukan file dan tabel acara tambahan untuk digabungkan. Argumen terakhir adalah output FITS
file.
NB: Lakukan tidak gunakan Notasi Bracket Funtools untuk menentukan ekstensi FITS dan filter baris saat
menjalankan funjoin atau Anda akan mendapatkan hasil yang salah. Baris diakses dan digabungkan menggunakan
indeks file secara langsung, dan ini melewati semua penyaringan.
Kolom gabungan ditentukan menggunakan -j col switch (yang menentukan nama kolom untuk
gunakan untuk semua file) atau dengan -j1 kolom1, -j2 kolom2, ... -jn kolom sakelar (yang menentukan a
nama kolom yang akan digunakan untuk setiap file). Kolom gabungan harus ditentukan untuk setiap file. Jika keduanya
-j col dan -jn kolom ditentukan untuk file yang diberikan, maka yang terakhir digunakan. Gabung kolom
harus bertipe string atau bertipe numerik; itu ilegal untuk mencampur angka dan string
kolom dalam gabungan tertentu. Misalnya, untuk menggabungkan tiga file menggunakan kolom kunci yang sama untuk
setiap file, gunakan:
funjoin -j kunci dalam1.cocok dalam2.cocok dalam3.cocok keluar.cocok
Kunci yang berbeda dapat ditentukan untuk file ketiga dengan cara ini:
funjoin -j key -j3 otherkey in1.pas di2.pas di3.pas di luar.cocok
Grafik -a "kol" switch (dan .A1 "kol1", .A2 "kol2" rekanan) dapat digunakan untuk menentukan
kolom untuk mengaktifkan (yaitu menulis ke file output) untuk setiap file input. Secara default, semua
kolom adalah output.
Jika dua atau lebih kolom dari file terpisah memiliki nama yang sama, kolom kedua (dan selanjutnya)
kolom diganti namanya menjadi garis bawah dan nilai numerik ditambahkan.
Grafik -m menit dan -M max switch menentukan jumlah minimum dan maksimum gabungan yang diperlukan untuk
menulis satu baris. Minimum default adalah 0 gabungan (yaitu semua baris dituliskan) dan
maksimum default adalah 63 (jumlah maksimum kemungkinan bergabung dengan batas 32 input
file). Misalnya, untuk menulis hanya baris-baris di mana tepat dua file memiliki kolom
pertandingan itu (yaitu satu bergabung):
funjoin -j kunci -m 1 -M 1 masuk1.cocok masuk2.cocok masuk3.cocok ... keluar.cocok
Baris tertentu dapat memiliki jumlah gabungan yang diperlukan tanpa semua file digabungkan
(misalnya tiga file sedang digabungkan tetapi hanya dua yang memiliki nilai kunci gabung yang diberikan). Di dalam
kasus, semua kolom file yang tidak digabungkan ditulis, secara default, menggunakan kosong
(nol atau NULL). NS -b c1:bv1,c2:bv2 dan -b1 'c1:bv1,c2:bv2' -b2 'c1:bv1,c2 - bv2' ...
switch dapat digunakan untuk mengatur nilai kosong untuk kolom yang umum untuk semua file dan/atau kolom
dalam file tertentu, masing-masing. Setiap string nilai kosong berisi daftar yang dipisahkan koma
dari kolom: blank_val penentu. Untuk nilai floating point (tunggal atau ganda), kasus-
nilai string tidak sensitif "nan" berarti IEEE NaN (bukan-angka) harus digunakan.
Jadi, misalnya:
funjoin -b "AKEY:???" -b1 "A:-1" -b3 "G:NaN,E:-1,F:-100" ...
berarti kolom AKEY yang tidak tergabung dalam file apa pun akan berisi string "???", kolom non-
bergabung Kolom file 1 akan berisi nilai -1, kolom G yang tidak bergabung dari file 3
akan berisi IEEE NaNs, sedangkan kolom E dan F yang tidak digabungkan dari file yang sama akan berisi
nilai -1 dan -100, masing-masing. Tentu saja, di mana nilai kosong umum dan spesifik berada
ditentukan untuk kolom yang sama, nilai kosong spesifik digunakan.
Untuk membedakan file mana yang merupakan komponen tidak kosong dari baris tertentu, -s sakelar (status)
dapat digunakan untuk menambahkan kolom bitmask bernama "JFILES" ke file output. Pada kolom ini,
bit diatur untuk setiap file non-kosong yang menyusun baris yang diberikan, dengan bit 0 sesuai dengan
file pertama, bit 1 ke file kedua, dan seterusnya. Nama file itu sendiri disimpan di
header FITS sebagai parameter bernama JFILE1, JFILE2, dll -S col sakelar memungkinkan Anda untuk
ubah nama kolom status dari default "JFILES".
Gabungan antar baris adalah produk Cartesian dari semua baris dalam satu file yang memiliki gabungan tertentu
nilai kolom dengan semua baris dalam file kedua memiliki nilai yang sama untuk kolom gabungannya dan
segera. Jadi, jika file1 memiliki 2 baris dengan nilai kolom gabungan 100, file2 memiliki 3 baris dengan
nilai yang sama, dan file3 memiliki 4 baris, maka hasil gabungan dalam 2*3*4=24 baris menjadi output.
Algoritma join secara langsung memproses file indeks yang terkait dengan kolom join dari
setiap berkas. Nilai terkecil dari semua kolom saat ini dipilih sebagai basis, dan ini
value digunakan untuk menggabungkan kolom bernilai sama di file lain. Dengan cara ini, indeks
file dilalui tepat sekali.
Grafik -t dorongan switch menentukan nilai toleransi untuk kolom numerik. Saat ini,
nilai toleransi hanya dapat menggabungkan dua file sekaligus. (Algoritme yang sama sekali berbeda adalah
diperlukan untuk menggabungkan lebih dari dua file menggunakan toleransi, sesuatu yang mungkin kami pertimbangkan
implementasi di masa depan.)
Contoh berikut menunjukkan banyak fitur funjoin. File input t1.fits,
t2.fits, dan t3.fits berisi kolom berikut:
[sh] fundisp t1.cocok
KUNCI AKEY AB
----------- ------ ------ ------
aaa 0 0 1
bb 1 3 4
cc 2 6 7
dd 3 9 10
ee 4 12 13
ff 5 15 16
gg 6 18 19
hehe 7 21 22
fundisp t2.cocok
CD KUNCI AKEY
----------- ------ ------ ------
aku aku aku 8 24 25
gg 6 18 19
ee 4 12 13
cc 2 6 7
aaa 0 0 1
fundisp t3.cocok
AKEY KEY EFG ------------ ------ -------- --------
-----------
ggg 6 18 19 100.10
jjj 9 27 28 200.20
aaa 0 0 1 300.30
dd 3 9 10 400.40
Mengingat file input ini, perintah funjoin berikut:
funjoin -s -a1 "-B" -a2 "-D" -a3 "-E" -b \
"AKI:???" -b1 "AKEY:XXX,A:255" -b3 "G:NaN,E:-1,F:-100" \
-j kunci t1.fits t2.fits t3.fits foo.fits
akan menggabungkan file pada kolom KUNCI, menampilkan semua kolom kecuali B (dalam t1.fits), D (dalam
t2.fits) dan E (dalam t3.fits), dan menyetel nilai kosong untuk AKEY (secara global, tetapi diganti
untuk t1.fits) dan A (dalam file 1) dan G, E, dan F (dalam file 3). Kolom JFILES akan menjadi
output untuk menandai file mana yang digunakan di setiap baris:
AKEY KEY A AKEY_2 KEY_2 C AKEY_3 KEY_3 FG JFILES
------------ ------ ------ ------------ ------ ------ -- ---------- ------ -------- ----------- --------
aaa 0 0 aaa 0 0 aaa 0 1 300.30 7
bb 1 3 ??? 0 0 ??? 0 -100 nan 1
cc 2 6 cc 2 6 ??? 0 -100 nan 3
dd 3 9 ??? 0 0 dd 3 10 400.40 5
eee 4 12 eee 4 12 ??? 0 -100 nan 3
ff 5 15 ??? 0 0 ??? 0 -100 nan 1
ggg 6 18 ggg 6 18 ggg 6 19 100.10 7
ha 7 21 ??? 0 0 ??? 0 -100 nan 1
XXX 0 255 iii 8 24 ??? 0 -100 nan 2
XXX 0 255 ??? 0 0 jj 9 28 200.20 4
Gunakan funjoin online menggunakan layanan onworks.net