Je dois lire le '' wdbc.data 'dans le dossier de données suivant: http://archive.ics.uci.edu/ml/machine-learning-databases/breast-cancer-wisconsin/
Faire cela en R est facile en utilisant la commande read.csv mais comme l'en-tête est manquant, comment puis-je l'ajouter? J'ai les informations mais je ne sais pas comment faire cela et je préférerais ne pas éditer le fichier de données.
Vous pouvez faire ce qui suit:
Charger les données:
test <- read.csv(
"http://archive.ics.uci.edu/ml/machine-learning-databases/breast-cancer-wisconsin/breast-cancer-wisconsin.data",
header=FALSE)
Notez que la valeur par défaut de l'argument header
pour read.csv
est TRUE
. Pour obtenir toutes les lignes, vous devez donc le définir sur FALSE
.
Ajouter des noms aux différentes colonnes du data.frame
names(test) <- c("A","B","C","D","E","F","G","H","I","J","K")
ou alternative et plus rapide si je comprends bien (ne pas recharger l'ensemble de données):
colnames(test) <- c("A","B","C","D","E","F","G","H","I","J","K")
Vous pouvez également utiliser colnames
au lieu de noms si vous avez data.frame
ou matrix
si vous souhaitez lire des données d'un fichier .txt
et extraire seulement quelques colonnes de ce fichier dans un nouveau fichier .txt
avec un en-tête personnalisé, le code suivant peut être utile:
# input some data from 2 different .txt files:
civit_gps <- read.csv(file="/path2/gpsFile.csv",head=TRUE,sep=",")
civit_cam <- read.csv(file="/path2/cameraFile.txt",head=TRUE,sep=",")
# assign the name for the output file:
seqName <- "seq1_data.txt"
#=========================================================
# Extract data from imported files
#=========================================================
# From Camera:
frame_idx <- civit_cam$X.frame
qx <- civit_cam$q.x.rad.
qy <- civit_cam$q.y.rad.
qz <- civit_cam$q.z.rad.
qw <- civit_cam$q.w
# From GPS:
gpsT <- civit_gps$X.gpsTime.sec.
latitude <- civit_gps$Latitude.deg.
longitude <- civit_gps$Longitude.deg.
altitude <- civit_gps$H.Ell.m.
heading <- civit_gps$Heading.deg.
pitch <- civit_gps$pitch.deg.
roll <- civit_gps$roll.deg.
gpsTime_corr <- civit_gps[frame_idx,1]
#=========================================================
# Export new data into the output txt file
#=========================================================
myData <- data.frame(c(gpsTime_corr),
c(frame_idx),
c(qx),
c(qy),
c(qz),
c(qw))
# Write :
cat("#GPSTime,frameIdx,qx,qy,qz,qw\n", file=seqName)
write.table(myData, file = seqName,row.names=FALSE,col.names=FALSE,append=TRUE,sep = ",")
Bien sûr, vous devriez modifier cet exemple de script en fonction de votre propre application.