Función que haga el gráfico adjunto para conjuntos de datos de supervivencia

Para crear mi funcion , decidi dividir el trabajo en 4 partes 1.-definir los requierimentos del conjunto de datos

library(foreign)
library(ggplot2)
library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(readr)


B_Dat<-"HR_comma_sep.csv" 
d<-data.frame(read.csv(B_Dat)) 
col="time_spend_company"
num_mtra<-4 
tam_col<-length(d$time_spend_company)

##comienzo la funcion , especifico que requiere 4 parametros: nombre del archivo que contiene los datos ##,, numero de datos que contiene la columna que indica los tiempos de supervivencia ,, el nombre de la columna de los tiempos de supervivencia,,, ## el numero de elementos que quiero que contenga mi muestra

         supervivencia<-function(B_Dat,tam_col=length(d$time_spend_company),col,num_mtra){
   
                        ##parte 2: Extraer la muestra del conjunto de datos 
                        ##creo numeros pseudoaleatorios que seran los indices de los datos del archivo 
            
                        x<-sample(1:(tam_col),num_mtra)
 
                        ##creo un vector renglon donde acomodare los indices 
                      vector<-matrix(,nrow=1,ncol = num_mtra,)
                      
                        ##el for solo llena mi vector con los datos seleccionados con sus respectivos indices
                      for(i in 1:num_mtra){
                        
                                        vector[1,i]<-d[x[i],col]
    
                        }
              
                         ##parte 3
                        ## creo un data.frame que me ayudara para hacer el grafico
                        s<-data.frame(1:num_mtra,vector[1,])
  
 ##parte 4:
 ##creo el grafico arrastrando los datos ya obtenidos con ggplot  
  
  ggplot(s)+ 
    geom_point(aes(vector[1,],1:num_mtra))+
    geom_linerange(aes(x=vector[1,],ymin=0,ymax=1:num_mtra),linetype="dashed")+
    coord_cartesian(ylim = c(0,max(num_mtra)+5)) + coord_flip()
}

Este seria el resultado

## Coordinate system already present. Adding new coordinate system, which will replace the existing one.