2013-03-30 14 views
6

पर कक्षा को जोड़ने के लिए मैं xtable के साथ एचटीएमएल में एक टेबल बनाने की कोशिश कर रहा हूं, लेकिन मुझे विशिष्ट td टैग में कक्षा जोड़ने की जरूरत है, क्योंकि मैं एक करने जा रहा हूं एनीमेशन। समस्या यह है कि मैं बिना किसी एक्स्टेबल के कर सकता हूं क्योंकि यह बहुत धीमी है।एक्स्टेबल और टाइप = एचटीएमएल के साथ एक विशिष्ट टीडी टैग

मुझे इसका प्रतिनिधित्व करने की आवश्यकता हो सकती है लेकिन xtable के साथ।

myRenderTable<-function(){ 
    table = "<table>" 
    for(i in 1:4862){ 
    table = paste(table,"<tr><td>",i,"</td>",sep="") 
    for(j in 1:5){ 

     if(j == 5){ 
     table = paste(table,"<td class ='something'>",i+j,"</td>",sep="") 
     } 
     else{ 
     table = paste(table,"<td>",i+j,"</td>",sep="") 
     } 
    } 
    table = paste(table,"</tr><table>") 
    } 
    return(table) 
} 

अगर मैं xtable मेरे ऐप्स के साथ यह कर 15sec लगता है लेकिन मेरे ऐप 2 मिनट लगते हैं अगर मैं myRederTable समारोह के साथ यह कर, तो मैं xtable के साथ एक td में इस वर्ग डाल करने के लिए कैसे कर सकते हैं।

मैं आर और चमकदार के साथ काम कर रहा हूं।

+1

क्या हमें कुछ नमूना डेटा मिल सकता है और वांछित आउटपुट कैसा दिखना चाहिए? –

उत्तर

1

समस्या यह है कि आप एक स्ट्रिंग बढ़ रहे हैं: प्रत्येक बार जब आप इसे जोड़ते हैं, तो इसे एक नए स्मृति स्थान पर कॉपी करना होगा। एक सरणी के रूप में पहले डेटा बनाने के लिए तेज़ है, और केवल तब HTML को कन्वर्ट करने के लिए।

# Sample data 
n <- 4862 
d <- matrix( 
    as.vector(outer(0:5, 1:n, `+`)), 
    nr = 10, nc = 6*n, byrow=TRUE 
) 
html_class <- ifelse(col(d) %% 6 == 0, " class='something'", "") 

# The <td>...</td> blocks 
html <- paste("<td", html_class, ">", d, "</td>", sep="") 
html <- matrix(html, nr=nrow(d), nc=ncol(d)) 

# The rows 
html <- apply(html, 1, paste, collapse = " ") 
html <- paste("<tr>", html, "</tr>") 

# The table 
html <- paste(html, collapse = "\n") 
html <- paste("<table>", html, "</table>", sep="\n") 
+0

उत्तर के लिए धन्यवाद लेकिन ऐप को आपके स्रोत के साथ चलाने में काफी समय लगता है, यही कारण है कि किसी को अन्य विकल्प पता है, तो कृपया मुझे बताएं। – user2029940

संबंधित मुद्दे