2014-12-24 2 views
5

РезюмеR - Как вернуть полную мощность в консоли (без усечения)

Я использую RStudio и мой выход на консоли получает усечен. Я не могу найти, как остановить усечение (я пробовал поиск ?options, а также поиск в googling дольше, чем я хотел бы признать).

Код

# 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" 

Я хочу получить обратно неусеченной версию mycolnames[2] (например, "ThisIsAReallyReallyReallyReallyReallyLongName")

Спасибо всем.

--edit (подробнее ниже от комментариев) -

Мои извинения всем! Первоначально у меня было длинное имя «ThisIsAReallyReallyReallyReallyReallyLongName», но проблема только пришла в голову с длинным именем «Служба перевода - какая служба перевода?». Думаю, я нашел проблему. ... не усекался, он заменял неизвестные символы, такие как ? и - с . и ....

Настройка

Я на Windows 7 64bit, RStudio Version 0.98.1091, R версия 3.0.1 (2013-05-16) - "молодчина" с платформы: x86_64-w64- mingw32/x64 (64-бит). Я попытался использовать «Использовать Git Bash как оболочку для проектов Git».

myfile.csv

ThisIsAShortName, Translation Service Info - Which translation service? 

23143505, Yes 
23143614, No 
23143324, Yes 

Char Replacement instead of truncating issue

+5

Хмм, я не получаю такой же результат. например 'names (data.frame (ThisIsAReallyReallyReallyReallyReallyLongName = 1: 10))' возвращает неиспользуемое имя – arvi1000

+1

@With Хотя, я не могу его протестировать (поскольку у меня нет Rstudio), используете ли вы последние версии Rstudio. – akrun

+0

Я на RStudio версии 0.98.1091 (последняя версия при проверке обновлений) и Windows 7 64bit – Will

ответ

2

Ожидается, что это поведение read.csv, не проблема усечения в R. Если у вас есть пробелы и специальные символы в именах столбцов файла, read.csv заменяет каждый из них с ., если не указано check.names = FALSE

Вот загляните в make.names, вот как read.table создает имена столбцов.

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

А вот соответствующая линия от read.table

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

Как насчет:

options(width=300) 

ли, что решить эту проблему?

+0

Проблема закончилась тем, что была специальным символом для моего конкретного файла. Я дал плохой пример (извините), что позже я отредактировал, когда понял свою ошибку. Я повышу это, так как это решит проблему усечения для обычного файла. – Will

3

В RStudio, используйте меню:

Tools > Global Options > Code > Display

В разделе консоли, установите Limit length of lines displayed in console to: на некоторое число гораздо больше, чем в настоящее время он установлен.

Нажмите OK.

Смежные вопросы