分割数据帧内容的最简单方法是什么,以便每个字符可以彼此分离(我认为这意味着像strsplit这样的东西不起作用)。
说我有
> da
V1 V2 V3 V4 V5 V6 V7 V8 V9 V10 V11 V12 V13 V14
1 TNVERI SMH EG ZSMRNPMUD: M SLRN PYMP VERRNVPT M ZSMRNP PE PYN TQR THNNZT
V15 V16 V17 V18 V19 V20
1 EQP NXQMS MUNMT LR NXQMS PLKNT
> dput(da)
structure(list(V1 = "TNVERI", V2 = "SMH", V3 = "EG", V4 = "ZSMRNPMUD:",
V5 = "M", V6 = "SLRN", V7 = "PYMP", V8 = "VERRNVPT", V9 = "M",
V10 = "ZSMRNP", V11 = "PE", V12 = "PYN", V13 = "TQR", V14 = "THNNZT",
V15 = "EQP", V16 = "NXQMS", V17 = "MUNMT", V18 = "LR", V19 = "NXQMS",
V20 = "PLKNT"), .Names = c("V1", "V2", "V3", "V4", "V5",
"V6", "V7", "V8", "V9", "V10", "V11", "V12", "V13", "V14", "V15",
"V16", "V17", "V18", "V19", "V20"), class = "data.frame", row.names = c(NA,
-1L))
我想计算每个字母/字符出现的频率,无论是否一句话。任何语言的解决方案都很好。
奖金:这是一个加密拼图。如果有人想看看他们是否能用英语弄明白这句话,那么就展示你的作品吧!
答案 0 :(得分:3)
strsplit
会正常工作:
table(unlist(lapply(da, strsplit, ""), use.names = FALSE))
#
# : D E G H I K L M N P Q R S T U V X Y Z
# 1 1 5 1 2 1 1 3 11 12 9 4 8 6 7 2 3 2 2 3