全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
5046 5
2017-12-12
在一个有1000+个变量的数据框中,如何对其中的以t5_开头的变量(一共有23个,t5_1-t5_23)都进行*25-100操作?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2017-12-12 17:55:27
你可能得需要将这个变量名拆分一下了拆分成 "t5" ,"_1"两个变量然后再对他们进行批量处理

比如
> substr("abcdef", 2, 4)                #从字符串“abcdef”中提取出第2到4个位置上的字符
[1] "bcd"
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2017-12-12 21:52:02
复制代码
或者:
复制代码
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2017-12-12 22:27:17
cheetahfly 发表于 2017-12-12 21:52
或者:
多谢指教,我也通过grep()函数实现了,不过你的方法值得学习,再次感谢
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2017-12-15 16:40:58
Michael1941 发表于 2017-12-12 22:27
多谢指教,我也通过grep()函数实现了,不过你的方法值得学习,再次感谢
sorry,对dplyr包掌握得不够熟练,其实以下一条语句就可以了:
dplyr::mutate_at(dat, vars(starts_with("t5_")), function(x) x * 25 - 100)
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2017-12-18 09:50:23
cheetahfly 发表于 2017-12-15 16:40
sorry,对dplyr包掌握得不够熟练,其实以下一条语句就可以了:
dplyr::mutate_at(dat, vars(starts_with ...
再次感谢,我是初学,什么都不会
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群