2017-03-26 3 views
0

Je retire 10 K du site Web SEC à l'aide du package EDGAR dans R. Heureusement, les fichiers texte sont accompagnés d'une convention de nommage de fichier cohérente: le numéro CIK (il s'agit d'un ID de dépôt) _Fichier type_Date. En fin de compte, je veux analyser ces derniers par SIC/groupe de l'industrie, donc je pense que la meilleure façon de le faire serait d'ajouter le code de l'industrie SIC à cette règle de nom de fichier.Ajout d'un nouveau champ aux noms de fichiers dans le répertoire - R

J'inclus une image de ce que je voudrais faire ci-dessous. C'est un peu comme une jointure de base de données, sauf que mes noms de fichiers prendraient le nouveau champ. Je ne sais pas comment faire cela, je suis assez nouveau pour R et les scripts de fichiers.

enter image description here

Répondre

0

Je suppose que vous avez un data.frame avec une colonne filenames. (Ou un vecteur contenant tous les noms de fichiers) Voir le code ci-dessous:

# A data.frame with a character column 'filenames' 
df$CIK <- sapply(df$filenames, FUN = function(x) {unlist(strsplit(x, split = "_"))[1]}) 
df$CIK <- as.character(df$CIK) 

Maintenant, supposons que vous avez une autre data.frame avec deux colonnes: CIK et SIC.

# A data.frame with two character columns: 'CIK' and 'SIC' 
# df2. 
# 
# We add another column to the first data.frame: 'new_filenames' 
df$new_filename <- sapply(1:nrow(df), FUN = function(idx, CIK, filenames, df2) { 
    SIC <- df2$SIC[which(df2$CIK == CIK[idx])] 
    new_filename <- as.character(paste(SIC, "_", filenames[idx], sep = "")) 
    new_filenames 
}, CIK = df$CIK, filenames = df$filenames, df2 = df2) 

# Now the new filenames are available in df$new_filenames 
View(df) 
+0

Oui! Cool. Je vous remercie. –