में एक बूलियन आउटपुट मेरे पास एक आर स्क्रिप्ट है जो सत्य या गलत उत्पन्न करती है। आर में, यह एक सदाशयी टी/एफ डेटा प्रकार उपयोग कर रहा है, लेकिन जब मैं पार्टी की योजना बनाई अपनी वापसी मान गूंज, यह कह रही है, एक तार हो रहा है:आउटपुट एक प्रतिलिपि से एक बब वैरिएबल
"[1] TRUE"
या
"[1] FALSE"
वे दोनों [1] से पहले हैं। न तो [0] है, यह एक टाइपो नहीं है। वैसे भी, इसका परिणाम यह है कि जब मैं बाद की स्क्रिप्ट चलाने के लिए इस प्रतिलेख के आउटपुट पर परीक्षण करने का प्रयास करता हूं, तो मुझे "TRUE" या "की तुलना करने के बजाय" [1] TRUE "से स्ट्रिंग तुलना करना पड़ता है, 1 "जो क्लीनर और बेहतर महसूस करता है।
A=$(Rscript ~/MyR.r)
echo $A
if [ "$A" == "[1] TRUE" ]; then
bash SecondScript.sh
fi
मैं कैसे आर या तो उत्पादन एक सच्चे बूलियन, या बैश उत्पादन स्ट्रिंग स्वीकार करते हैं और तुलना के लिए 0/1 के लिए परिवर्तित कर सकते हैं? यही कारण है कि यह कैसे है, जो काम करता है, है मैं नहीं बल्कि परीक्षण था के लिए ...
if [ $A == TRUE ];
से
if [ "$A" == "[1] TRUE" ];
कि संभव है, या मैं इस के साथ खुश होना चाहिए,?
* अद्यतन *
यहाँ Rscript की minimalized संस्करण है कि इस उत्पन्न करता है ...
myinput <- TRUE #or FALSE
FunctionName <- function(test){
if (test == TRUE){
val <- TRUE
} else {
val <- FALSE
}
return(val)
}
FunctionName(myinput)
FYI करें, [1] कह रहा है:
अब आप इसे पसंद उपयोग कर सकते हैं आप यह एक वेक्टर का पहला तत्व है। यदि आप एक वेक्टर मुद्रित करते हैं जिसमें एक से अधिक तत्व हैं, जैसे कि प्रिंटआउट एक से अधिक पंक्तियों में फैला हुआ है, तो आर मददगार रूप से प्रिंट करेगा [11], [21], [31] आदि ताकि आप जानते हों (उदाहरण के लिए) इसके मुद्रित 10 प्रति पंक्ति मूल्य। यदि आप एक मैट्रिक्स प्रिंट करते हैं तो यह पंक्तियों और स्तंभों को आपके लिए [, 1] और [1,] के रूप में लेबल करता है। – Spacedman
नीचे दिए गए अच्छे समाधानों के अतिरिक्त, मेरा मानना है कि आप प्रतिलिपि में क्यू (स्टेटस = वैल) का उपयोग कर सकते हैं ताकि यह कह सकें कि प्रतिलिपि से खोल में कौन सा मूल्य लौटाया गया है। इसके बारे में सावधान रहें, भले ही आप सहयोगियों के साथ काम कर रहे हों - वापसी मूल्य अक्सर त्रुटि संदेशों को एन्कोड करने के लिए उपयोग किया जाता है ताकि वे एक गैर-शून्य रिटर्न वैल्यू ले सकें, जो कि मिल जवाब के बजाए चिंता करने योग्य कुछ है। – mweylandt