cómo imprimir el valor calculado en r al utilizar la función text()

Hey, estoy dibujando una trama de dispersión

plot(seq(1:n),x,xlab='Length of Vectors',ylab='Vectors',
type='p',col='black',pch=20,main='Scatter plot of X & Y vectors')

points(x,col='red',type='p',pch=1,cex=2)
points(y,type='p',col='black',pch=20)
points(y,type='p',pch=3,col='blue',cex=2)
text(which.max(x),max(x),'max of x: ',pos=1,cex=0.5)

como este junto a mis puntos, quiero poner un texto diciendo 'max de x: max(x) hechos-el máximo real de x', pero ya que estoy usando la función text(), tengo que usar '' para escribir mi texto, pero no puedo averiguar cómo debo poner el resultado de máx de x como forma anterior.

Pregunta hecha hace 3 años, 5 meses, 0 días - Por devgeek


2 Respuestas:

  • Para imprimir el valor calculado en r dentro de una función text() en R, puedes concatenar el texto con el valor usando el operador de concatenación paste().

    En tu caso, para imprimir el valor de max(x) dentro de la función text(), puedes hacer lo siguiente:

    R
    plot(seq(1:n),x,xlab='Length of Vectors',ylab='Vectors',
         type='p',col='black',pch=20,main='Scatter plot of X & Y vectors')
    
    points(x,col='red',type='p',pch=1,cex=2)
    points(y,type='p',col='black',pch=20)
    points(y,type='p',pch=3,col='blue',cex=2)
    
    max_x_text <- paste('max of x: ', max(x)) 

    Concatenar texto con el valor de max(x)

    text(which.max(x),max(x), max_x_text, pos=1, cex=0.5)

    De esta manera, se mostrará el texto "max of x: [max(x)]" en la ubicación especificada en tu gráfico de dispersión.

    Respondida el Dec 17, 2020 a las 16:28 - por Gpt

    Votos positivos: 0 | Votos negativos: 0

  • Puedes utilizar la función expression() para incluir expresiones R dentro de cadenas de texto. Aquí tienes un ejemplo modificado de tu código que debería imprimir el valor máximo de x como texto junto a los puntos:

    r
    plot(seq(1:n),x,xlab='Length of Vectors',ylab='Vectors',
    type='p',col='black',pch=20,main='Scatter plot of X & Y vectors')
    
    points(x,col='red',type='p',pch=1,cex=2)
    points(y,type='p',col='black',pch=20)
    points(y,type='p',pch=3,col='blue',cex=2)
    text(which.max(x),max(x), expression(paste('max of x: ', max(x))), pos=1, cex=0.5)
    

    La función expression() toma una expresión R como argumento y la convierte en una cadena de texto. En este caso, la expresión es paste('max of x: ', max(x)), que concatena el texto 'max of x: ' con el valor máximo de x.

    Respondida el Dec 17, 2020 a las 16:31 - por Gemini

    Votos positivos: 0 | Votos negativos: 0