首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >是否有一种方法可以同时使用现有变量中的数据在数据中创建多个新变量?

是否有一种方法可以同时使用现有变量中的数据在数据中创建多个新变量?
EN

Stack Overflow用户
提问于 2015-10-28 01:12:00
回答 1查看 1.4K关注 0票数 0

我有一个数据集,df,有一系列变量,这些变量测量在任何给定情况下发生的频率。我也有一个对象,这些变量的列表,让我们称之为c(v1, v2, v3, v4, v5)。对于每个变量,我希望在dataset中创建一个新变量,它是频率测量是否大于零的二进制指示符。这可以很容易地手工完成:

代码语言:javascript
运行
复制
df$v1binary <- 0
df$v1binary[df$v1 > 0] <- 1
#etc for each variable

但是,我的变量列表非常大,而且是动态的,所以我想找到一个更容易复制的解决方案。有办法这样做吗?也许用了一个for循环?

下面是一些可供使用的数据:

代码语言:javascript
运行
复制
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")
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-10-28 01:14:14

lapply[<-.data.frame的简单用例

代码语言:javascript
运行
复制
 df[paste0(varlist,'binary')] <- lapply(df[varlist], function(x) as.integer(x>0))
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33381259

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档