将列作为chr类型汇总

时间:2012-11-05 07:03:39

标签: r sum dataframe chr

我有这样的事情:

Date        Point1 Point2 Point3
01-03-2000     23     57    98
02-03-2000     67     36    77 
03-03-2000     67     25    47 
... 

我想用colSums这样的函数得到每列的总和,但我的第一列不是数字,是一个字符类型。我如何得到这笔款项?

3 个答案:

答案 0 :(得分:5)

如果dat是您的数据框,您可以尝试

colSums(dat[ , -1])

这将返回除第一列(具有日期的列)之外的每列的总和。

答案 1 :(得分:4)

更通用的解决方案:

# set up some fake data with text and numeric columns 
numchr <- list(1:3,letters[1:3])
test <- data.frame(numchr[sample(1:2,10,replace=TRUE)])
names(test) <- letters[1:10]

# which looks like...
> test
  a b c d e f g h i j
1 1 a a a a 1 a 1 1 a
2 2 b b b b 2 b 2 2 b
3 3 c c c c 3 c 3 3 c

# get the sums only for the numeric columns
colSums(test[sapply(test,is.numeric)])

a f h i 
6 6 6 6

答案 2 :(得分:1)

另一种可能性(使用@ thelatemail&#39;示例):

library(plyr)
numcolwise(sum)(test)