R:计数并转换为数字

标签 r count

我有一个具有以下格式的数据框。

A    B
xxx 100;2;30;5
yyy 30;5
zzz 35

如何计算第二列 B 列中的数字数量并转换为计数,如下所示:

A    B
xxx  4
yyy  2
zzz  1

谢谢。

最佳答案

假设您的数据位于名为 Datadata.frame 中,由 strsplitsapply 组合而成这个工作很短。

Data$C <- sapply(strsplit(Data$B, ";"), length)

strsplit 是矢量化的,因此它将 Data$B 列的每个元素按 ";" 拆分并返回向量列表。该列表在 Data 中的每一行都有一个元素,每个列表元素包含一个向量(例如 "100;2;30;5" 转换为 c( “100”、“2”、“30”、“5”))。 sapply 调用返回列表中每个向量的长度。

关于R:计数并转换为数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6509319/

相关文章:

r - 分配损失时如何解释 rpart(方法 ="class")的 xerror

r - 从已知百分位数生成正态分布

c++ - 质数显示和计数c++

c - 错误: too few arguments to function 'strcmp'

SQL:选择前 3 条记录 + 数量总和

java - 计算所有值 Firebase Java API

r - 是否可以轻松地从先前计算的统计图中绘制箱线图(在R中)?

r - 增加矩阵打印输出的宽度

R:如何合并两个数据框以获得面板数据?

r - 创建不同长度的分类变量汇总表