我有一些数据目前正在尝试运行。问题是第一列是天,描述为整数。因此,当我申请总和时,天数也被计算在内。如何抑制问题?
medhist <- read.table(header=TRUE, text='
Day CVS Respi DM Epilepsy
1 2 3 4 0
2 3 2 2 2
3 3 3 4 2
4 4 3 2 1
5 1 3 1 3
6 2 2 NA 3
7 3 2 1 0
8 2 3 2 0
9 2 3 2 1
10 2 4 5 1
')
apply(medhist, 2, sum, na.rm=T)
由此输出为
Day CVS Respi DM Epilepsy
55 24 28 23 13
我试过了
medhist$Day<- as.character(medhist$Day)
以及
medhist$Day<- as.factor(medhist$Day)
但它为我尝试过的两个代码都会产生错误
Error in FUN(newX[, i], ...) : invalid 'type' (character) of argument
也许您可能希望将天数的length()
(即计数(与预期的摘要连接起来,而无需Day
列。假设这些日子是唯一的,您可以这样做:
c(Day=length(medhist$Day), apply(medhist[-1], 2, sum, na.rm=TRUE))
# Day CVS Respi DM Epilepsy
# 10 24 28 23 13
一个选项是对所选列使用summarise_at
,然后附加感兴趣的其他列值
library(dplyr)
medhist %>%
summarise_at(-1, sum, na.rm = TRUE) %>%
bind_cols(Day = last(medhist$Day), .)