我想计算变量Comment的空行数。有两个空单元格,因此rowcount应为2.
以下是关于样本数据的脚本。
Temp data:
Comment Prob
1 fa 0.40768666
2 fsa 0.61956024
3 NA
4 0.12916298
5 fasdf 0.09724928
6 rew 0.47395962
c_fun <- function(x){c(example=head(x,n=1),mcnt=sum(as.character(x)==""))}
summaryBy(Comment~., data= temp, FUN= c_fun)
结果mcnt
给了我0.但是,如果我分别运行sum(as.character(x)==“”),我可以得到空的rowcount为2.另一件我想要实现的是打印第一行。我把头部功能称为无法正常工作。
答案 0 :(得分:1)
我猜这个问题可能是由于R在创建数据帧时将字符编码为因素造成的。请参阅以下比较。
temp <- data.frame(Comment=c("fa", "fsa", "", "", "fasdf", "rew"),
Prob=c(0.40768666, 0.61956024, NA, 0.12916298, 0.09724928, 0.47395962),
stringsAsFactors = TRUE)
c_fun <- function(x){c(example=head(x,n=1),mcnt=sum(as.character(x)==""))}
summaryBy(Comment~., data= temp, FUN= c_fun)
# Comment.example Comment.mcnt
# 1 2 0
temp <- data.frame(Comment=c("fa", "fsa", "", "", "fasdf", "rew"),
Prob=c(0.40768666, 0.61956024, NA, 0.12916298, 0.09724928, 0.47395962),
stringsAsFactors = FALSE)
summaryBy(Comment~., data= temp, FUN= c_fun)
# Comment.example Comment.mcnt
# 1 fa 2