将列添加到R中的数据框

时间:2014-02-11 00:45:40

标签: r dataframe

我有以下数据框:

  Name      id   Quiz1 Exam1 Exam2 Quiz2 Exam3
1 Susan   123412  50    47    33    67    79
2 John    548963  38    61    75    59    65
3 Bob     234563  89    97    85    88    92
4 Bill    429591  72    73    74    75    76
5 Mary    245887  92    95    79    89    90
6 Paul    97522   99     3    55    60    72

并想添加2列。测验平均值和考试平均值。我一直很难让任何代码工作,任何人都有任何想法?

2 个答案:

答案 0 :(得分:4)

你的意思是这样的......?

> transform(df, 
+           QuizAverage=rowMeans(cbind(Quiz1, Quiz2)),
+           ExamAverage=rowMeans(cbind(Exam1, Exam2, Exam3)))
   Name     id Quiz1 Exam1 Exam2 Quiz2 Exam3 QuizAverage ExamAverage
1 Susan 123412    50    47    33    67    79        58.5    53.00000
2  John 548963    38    61    75    59    65        48.5    67.00000
3   Bob 234563    89    97    85    88    92        88.5    91.33333
4  Bill 429591    72    73    74    75    76        73.5    74.33333
5  Mary 245887    92    95    79    89    90        90.5    88.00000
6  Paul  97522    99     3    55    60    72        79.5    43.33333

答案 1 :(得分:1)

转换函数确实完成了工作,但是在不使用转换函数的情况下,可以非常轻松地在R中创建列。

添加列也可以通过以下方式完成:

> df$QuizAverage = (df$Quiz1 + df$Quiz2) / 2

> df$ExamAverage = (df$Exam1 + df$Exam2 + df$Exam3) / 3

此站点为操作数据帧提供了非常好的参考。 HowToinR.weebly.com