我有一个数据集df
,其中包含一系列变量,用于衡量任何给定情况下某些事件的发生频率。我还有一个对象列表,让我们称之为c(v1, v2, v3, v4, v5)
。对于这些变量中的每一个,我希望在数据集中创建一个新变量,该变量是频率测量值是否大于零的二进制指示符。这可以很容易地手动完成:
df$v1binary <- 0
df$v1binary[df$v1 > 0] <- 1
#etc for each variable
但是,我的变量列表非常庞大且动态,所以我想找到一个更容易复制的解决方案。有没有办法做到这一点?也许使用for-loop?
以下是一些数据:
df <- data.frame(CaseID = seq(1,10,1), v1 = sample(0:9), v2 = sample(0:9), v3 = sample(0:9), v4 = sample(0:9), v5 = sample(0:9))
varlist <- c("v1", "v2", "v3", "v4", "v5")
答案 0 :(得分:2)
V(g) [ membership == 1 ]$layout <- c(1,2,3,4,5)
和lapply
[<-.data.frame