我正在使用数据框swiss
,我想确定少于七个字符的城市总数。可以使用sum
和nchar
完成吗?
谢谢!
编辑:
正如@KFB所说,我应该澄清另一个问题并再举一个例子。我可能没有最好的例子,但这可以显示我在评论中的意思。
housing
所以在这个数据中我有type
列,我想计算多少个值
使用sum
和nchar
命令少于7个字符。同样可以做到
Infl
列。
答案 0 :(得分:2)
您可以尝试:
sum(nchar(rownames(swiss))<7)
#[1] 16
计算data.frame中的特定列(假设它是nchar
)
nchar(swiss$Fertility)
#[1] 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 2 4 4 4 4 2 4 4 4 4 4 4 4 4 2 4 4
#[39] 4 4 4 4 4 4 2 4 4
如果要查找每列的长度,只需nrow(swiss)
,因为对于任何特定列都不会更改。
library(MASS)
data(housing)
sapply(housing[,c("Infl", "Type")], function(x) sum(nchar(as.character(x))<7))
#Infl Type
# 72 36
对于一栏,您不需要sapply
sum(nchar(as.character(housing[,"Infl"])) <7)
#[1] 72