Estoy tratando de leer en el archivo R a csv que contiene información sobre contribuciones políticas. Por lo que entiendo, las columnas predeterminadas se importan como factores, pero necesito la columna de cantidad ('CTRIB_AMT' en el conjunto de datos) para importarla como una columna numérica para poder ejecutar una variedad de funciones que no funcionarían para factores. La columna está formateada como una moneda con un "$" como prefijo.Leer el archivo csv en R con la columna de moneda como numérico
he usado un simple comando de lectura para importar el archivo inicialmente:
contribs <- read.csv('path/to/file')
y luego trató de convertir el CTRIB_AMT de la moneda a numérico:
as.numeric(as.character(sub("$","",contribs$CTRIB_AMT, fixed=TRUE)))
Pero eso no funcionó. Las funciones que estoy tratando de utilizar para las columnas CTRIB_AMT son:
vals<-sort(unique(dfr$CTRIB_AMT))
sums<-tapply(dfr$CTRIB_AMT, dfr$CTRIB_AMT, sum)
counts<-tapply(dfr$CTRIB_AMT, dfr$CTRIB_AMT, length)
ver pregunta relacionada here.
¿Alguna idea sobre cómo importar el archivo inicialmente para que la columna sea numérica o cómo convertirla después de la importación?
Un pequeño ejemplo del contenido del archivo sería útil. –
La conversión 'sub' ->' as.character' -> 'as.numeric' debería ser la solución. ¿A qué te refieres con "no funcionó"? –
Funciona para mí. 'CTRIB_AMT <- factor (c (" $ 5000 "," $ 2500 "," $ 100 ")); as.numeric (como.caracter (sub ("$", "", CTRIB_AMT, fixed = TRUE))) ' –