基于R中的每个分类数值从数据集中提取所有值
Extracting all value from a data set based for every categorical numerical value in R
我有一个包含任意行数和两个 columns:a 和 b 的数据集。我想找到 b 的特定值的 a 值的数量。如果给出下面的数据集,我希望 a1 = 2,a2 = 1 为 b1 的设定值。
a b
1 1
1 1
2 1
2 2
3 2
3 2
我试过并有效的代码:
data[a == 1 & b == 1, list(b = length(b))]
无效代码:
data[a == c(1,2) & b == 1, list(b = length(b))]
如何获取一组 b 值的 a 的所有值?
预期数据输出:
b1
a1 2
a2 1
a3 0
etc.
感谢 akrun 的代码:
library(data.table)
table(as.integer(data$a),data$b=='b1')[,2]
确保您的 [,2]
与您的 'b' 列匹配。
此外,as.integer()
按顺序排列值。
我们可以使用table
table(within(data, b<-b==1))[,'TRUE', drop=FALSE]
编辑:包括@Frank 的建议。
我有一个包含任意行数和两个 columns:a 和 b 的数据集。我想找到 b 的特定值的 a 值的数量。如果给出下面的数据集,我希望 a1 = 2,a2 = 1 为 b1 的设定值。
a b
1 1
1 1
2 1
2 2
3 2
3 2
我试过并有效的代码:
data[a == 1 & b == 1, list(b = length(b))]
无效代码:
data[a == c(1,2) & b == 1, list(b = length(b))]
如何获取一组 b 值的 a 的所有值?
预期数据输出:
b1
a1 2
a2 1
a3 0
etc.
感谢 akrun 的代码:
library(data.table)
table(as.integer(data$a),data$b=='b1')[,2]
确保您的 [,2]
与您的 'b' 列匹配。
此外,as.integer()
按顺序排列值。
我们可以使用table
table(within(data, b<-b==1))[,'TRUE', drop=FALSE]
编辑:包括@Frank 的建议。