2016-10-19 7 views
0
grades <- read.table("studentgrades.csv",header = TRUE,row.names="StudentID", sep = ",") 

gradess <- read.csv("studentgrades.csv",header = TRUE,row.names="StudentID", sep = ",") 

Результат read.table является:R read.table против read.csv

grades 
[1] First   Last   Math   Science  Social.Studies 
<0 rows> (or 0-length row.names) 

Результат read.csv является:

gradess 
    First  Last Math Science Social.Studies 
11 Bob  Smith 90  80    67 
12 Jane  Weary 75  NA    80 
10 Dan "Thornton" 65  75    70 
40 Mary O'Leary 90  95    92 

Я просто не знаю, почему read.tables может не дайте мне правильный результат.

+0

Можете ли вы включить первые 3 строки вашего входного файла 'studentgrades.csv'? –

+2

Можете ли вы просто показать результат с помощью 'readLines' i.e.' lines <- head (readLines ("studentgrades.csv")) – akrun

+0

Я согласен, что просмотр хотя бы нескольких строк ввода действительно поможет сузить то, что здесь происходит. – user14353

ответ

0

Проблема связана с цитатой (') в O'Leary фамилии столбца. Вам нужно будет изменить значение по умолчанию quote в read.table, которое по умолчанию задано как ('), чтобы получить желаемый результат.

Если вы используете quote=NULL в read.table, как показано ниже

grades <- read.table("studentgrades.csv",header = TRUE,sep=",",quote=NULL,row.names="StudentID") 

Тогда вы получите желаемый результат.

> grades 
    First  Last Math Science Social.Studies 
11 Bob  Smith 90  80    67 
12 Jane  Weary 75  NA    80 
10 Dan "Thornton" 65  75    70 
40 Mary  O'Leary 90  95    92 
+0

большое спасибо и очень ценю. книга не включала quote = NULL, но дала правильные результаты, поэтому мне было интересно, почему. Ваш ответ поможет мне пройти через это. благодаря –

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