【发布时间】:2012-08-09 11:01:00
【问题描述】:
我喜欢通过将向量与列表元素进行比较来生成包含 0 和 1 的向量。一世 有以下向量:
functions=c("abline", "as.numeric", "attach", "data.frame", "ddply", "mean")
这个“函数”向量现在应该与一个包含这个向量子集的向量列表合并。该列表如下所示:
[[1]]
[1] "data.frame"
[[2]]
[1] "data.frame" "ddply" "mean"
[[3]]
[1] "data.frame" "abline" "attach" "mean"
...
因此,我想按照“函数”向量的顺序和长度生成一个向量,其中包含与“函数”向量匹配的每个元素的 1 和不可用的 0。我想放入数据框中的所有这些。对于这三个列表元素,结果如下所示:
"abline" "as.numeric" "attach" "data.frame" "ddply" "mean"
1 0 0 0 1 0 0
2 0 0 0 1 1 1
3 1 0 1 1 0 1
有人知道我如何实现这一目标吗?
最佳搜索结果。
【问题讨论】:
-
第一步是
lapply(listofvectors, function(z)vectoroffunctions %in% z + 0) -
@danas.zuokas 从技术上讲你是对的。尽管如此,使用
as.numeric()是一种比添加+ 0更清楚地表明您将逻辑转换为数字的方法。我更喜欢可读性而不是黑客攻击,除非你真的需要节省那微秒。
标签: r