如何解决循环更改变量名的一部分并重复命令
我目前正在使用此代码来获取一个变量,选择第2、3、4、5位数字并创建一个新变量
dataset$nd1_4_digits <- substr(dataset$nd1,2,5)
我想重复此x40,用i表示的部分每次都增加1,所以就像这样;
dataset$ndi_4_digits <- substr(dataset$ndi,5)
实际上,代码应该这样做
dataset$nd1_4_digits <- substr(dataset$nd1,5)
dataset$nd2_4_digits <- substr(dataset$nd2,5)
dataset$nd3_4_digits <- substr(dataset$nd3,5)
等等直到
dataset$nd40_3_digits <- substr(dataset$nd4,5)
我一直在网上寻找使用循环的方法,但不幸的是,我看不到如何更改变量名的一部分。
感谢任何帮助!
解决方法
您可以使用lapply
:
cols <- paste0('nd',1:40)
dataset[paste0(cols,'_4_digits')] <- lapply(dataset[cols],substr,2,5)
或在dplyr
中:
library(dplyr)
dataset %>%
mutate(across(starts_with('nd'),list(digits = ~substr(.,5))))
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。