【发布时间】:2018-04-18 23:52:47
【问题描述】:
我有一个数字向量
my.vec <- c(244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258)
我有数据框
set.seed(123)
df <- data.frame(loc.id = rep(1:10), x1 = sample(190:285,10, replace = T), x2 = sample(200:350,10, replace = T), x3= sample(100:280,10, replace = T), x4= sample(250:350,10, replace = T), x5 = sample(150:300,10, replace = T))
我想在df 中创建另一列,它显示每个 loc.id(或每一行),在 x1 到 x5 列中 my.vecoccur 的百分比。我设法做到了。
apply(df[,2:6],1,function(x) x %in% my.vec)
如果列中的元素出现在 my.vec 中,这会给我 TRUE 或 FALSE。我只需要找到某种方式将其表示为百分比
【问题讨论】:
-
my.vec的百分比或每行的百分比? -
另外,在创建
df之前执行set.seed可能会很好,这样答案都可以使用相同的源数据。