2014-12-24 9 views
5

SommarioR - Come restituire piena potenza in consolle (nessun troncamento)

sto usando RStudio e la mia uscita sulla console viene troncato. Non riesco a trovare il modo di interrompere il troncamento (ho provato a cercare ?options e a cercare su google per più tempo di quanto vorrei ammettere).

Codice

# Load File 
>myfile <- read.csv(file="C:\\Users\\wliu\\Desktop\\myfile.csv", 
       sep=",", header=TRUE, stringsAsFactors=FALSE, skip=2) 

# Get my column names 
>mycolnames <- colnames(myfile) 

# When I request a shorter name, this returns the full name 
>mycolnames[1] # Assuming first col is a short name 
[1] "ThisIsAShortName" 

# However, when I request a longer name, this returns a truncated version 
>mycolnames[2] # Assuming second col is a really long name 
[1] "ThisIsA...Long...Name" 

voglio tornare la versione non-troncata di mycolnames[2] (ad esempio "ThisIsAReallyReallyReallyReallyReallyLongName")

Grazie a tutti.

--edit (maggiori informazioni a seguire da commenti) -

le mie scuse a tutti! Originariamente avevo il nome lungo come 'ThisIsAReallyReallyReallyReallyReallyLongName', ma il problema è venuto solo con il nome lungo di 'Translation Service Info - Which translation service?'. Penso di aver trovato il problema. Il ... non stava troncando, stava sostituendo i caratteri sconosciuti come ? e - con . e ....

Setup

Sono su Windows 7 a 64 bit, RStudio versione 0.98.1091, R versione 3.0.1 (2013/05/16) - "Good Sport" con la piattaforma: x86_64-w64- mingw32/x64 (64 bit). Ho provato con "Usa Git Bash come shell per i progetti Git" e "off".

myfile.csv

ThisIsAShortName, Translation Service Info - Which translation service? 

23143505, Yes 
23143614, No 
23143324, Yes 

Char Replacement instead of truncating issue

+5

Hmm, non ottengo lo stesso risultato. per esempio. 'names (data.frame (ThisIsAReallyReallyReallyReallyReallyLongName = 1: 10))' restituisce il nome non abbreviato – arvi1000

+1

@Will Anche se, non riesco a testarlo (visto che non ho Rstudio), stai usando le versioni recenti di Rstudio. – akrun

+0

Sono su RStudio Versione 0.98.1091 (ultima versione quando controllo gli aggiornamenti) e Windows 7 64bit – Will

risposta

2

Questo è il comportamento previsto dal read.csv, non è un problema di troncamento in R. Quando si dispone di spazi e caratteri speciali nei nomi delle colonne di un file, read.csv sostituisce ognuno di loro con un . se non si specifica check.names = FALSE

Ecco un'occhiata a make.names, che è come read.table produce i nomi delle colonne.

nm <- "Translation Service Info - Which translation service?" 
make.names(nm) 
# [1] "Translation.Service.Info...Which.translation.service." 

Ed ecco la riga relativa da read.table

if (check.names) 
     col.names <- make.names(col.names, unique = TRUE) 
2

ne dite:

options(width=300) 

non che risolvere il problema?

+0

Il problema si è rivelato essere caratteri speciali per il mio particolare file. Ho dato un cattivo esempio (mi dispiace) che in seguito ho modificato quando ho realizzato il mio errore. Lo inviterò poiché esso risolverà il problema di troncamento per un file normale. – Will

3

In RStudio, utilizzare il menu:

Tools > Global Options > Code > Display

Nella sezione Console, impostare Limit length of lines displayed in console to: ad un numero molto più grande di al momento è impostato su

Fare clic su OK.

Problemi correlati