2017-03-07 67 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"))