2017-03-07 61 views
0

今天是我第一次在一段時間裏使用R,所以我決定做一些練習來看看我記得的東西。不幸的是,我似乎沒有完成最基本的任務:創建數據框。R Data.Frame ...大量的小點

這裏是我的代碼:

colleges <- data.frame(
    name <- c("Drexel University", "University of Pittsburgh", "Pennsylvania State University"), 
    tuition <- c("$49,632", "$16,952", "$18,618") 
) 

和輸出:

# >colleges 
    name....c..Drexel.University....University.of.Pittsburgh....Pennsylvania.State.University.. 
1                   Drexel University 
2                 University of Pittsburgh 
3                Pennsylvania State University 
    tuition....c...49.632.....16.952.....18.618.. 
1          $49,632 
2          $16,952 
3          $18,618` 

爲什麼格式化如此糟糕?所有這些不必要的點是什麼意思?

+1

使用'=''不<-'那裏。 – Frank

回答

4

使用

colleges <- data.frame(
    name = c("Drexel University", "University of Pittsburgh", "Pennsylvania State University"), 
    tuition = c("$49,632", "$16,952", "$18,618") 
) 

注意使用=而非<-。這會將您傳遞給data.frame的參數命名,並將這些參數名稱用作列名稱。當你做一個分配(<-)這些參數是未命名的,所以它解析表達式來命名它,並且你沒有那樣得到一個「漂亮」的名字。例如

make.names(deparse(quote(tuition <- c("$49,632", "$16,952", "$18,618")))) 
# [1] "tuition....c...49.632.....16.952.....18.618.." 
+0

應該使用左箭頭,當引用傳遞給'data.frame'時,使用代碼標記,我想。 – Frank

1

您應該使用 「=」,在data.frame通話

colleges <- data.frame(name = c("Drexel University", "University of Pittsburgh", "Pennsylvania State University"), 
         tuition = c("$49,632", "$16,952", "$18,618"))