• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

R语言中实现数据框中数据的替换

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

1、全部替换

> c1 <- c("x", "z", "a", "b")
> c2 <- c("a", "ab", "d", "z")
> c3 <- c("d", "m", "n", "a")
> c4 <- c("x", "a", "m", "k") 
> dat <- data.frame(c1, c2, c3, c4)    ## 生成测试数据框
> dat
  c1 c2 c3 c4
1  x  a  d  x
2  z ab  m  a
3  a  d  n  m
4  b  z  a  k
> dat[dat == "a"] = 100   ## 将数据框中所有的a替换为100
> dat                     ##查看替换结果
   c1  c2  c3  c4
1   x 100   d   x
2   z  ab   m 100
3 100   d   n   m
4   b   z 100   k

 

2、在指定列中进行替换

> c1 <- c("x", "z", "a", "b")
> c2 <- c("a", "ab", "d", "z")
> c3 <- c("d", "m", "n", "a")
> c4 <- c("x", "a", "m", "k") 
> dat <- data.frame(c1, c2, c3, c4)   ## 生成测试数据
> dat
  c1 c2 c3 c4
1  x  a  d  x
2  z ab  m  a
3  a  d  n  m
4  b  z  a  k
> dat[,c(1,3)][dat[,c(1,3)] == "a"] = 100     ## 将1,3列中的a替换为100
> dat                         ## 替换结果
   c1 c2  c3 c4
1   x  a   d  x
2   z ab   m  a
3 100  d   n  m
4   b  z 100  k

 

3、在指定列中替换, for循环实现

> c1 <- c("x", "z", "a", "b")
> c2 <- c("a", "ab", "d", "z")
> c3 <- c("d", "m", "n", "a")
> c4 <- c("x", "a", "m", "k") 
> dat <- data.frame(c1, c2, c3, c4)     ## 生成测试数据
> dat
  c1 c2 c3 c4
1  x  a  d  x
2  z ab  m  a
3  a  d  n  m
4  b  z  a  k
> for (i in c(1,3,4)) {
+   dat[,i][dat[,i] == "a"] = 100             ## 利用for循环将1,3,4列中的a替换为100
+ }
> dat                                         ## 替换结果
   c1 c2  c3  c4
1   x  a   d   x
2   z ab   m 100
3 100  d   n   m
4   b  z 100   k

 

4、在指定行中进行替换

> c1 <- c("x", "z", "a", "b")
> c2 <- c("a", "ab", "d", "z")
> c3 <- c("d", "m", "n", "a")
> c4 <- c("x", "a", "m", "k") 
> dat <- data.frame(c1, c2, c3, c4)        ## 测试数据
> dat
  c1 c2 c3 c4
1  x  a  d  x
2  z ab  m  a
3  a  d  n  m
4  b  z  a  k
> dat[c(1,3),][dat[c(1,3),] == "a"] = 100    ## 将1,3行中的a替换为100
> dat
   c1  c2 c3 c4
1   x 100  d  x
2   z  ab  m  a
3 100   d  n  m
4   b   z  a  k

 

5、利用for循环实现指定行的替换

> c1 <- c("x", "z", "a", "b")
> c2 <- c("a", "ab", "d", "z")
> c3 <- c("d", "m", "n", "a")
> c4 <- c("x", "a", "m", "k") 
> dat <- data.frame(c1, c2, c3, c4)     ## 生成测试数据框
> dat
  c1 c2 c3 c4
1  x  a  d  x
2  z ab  m  a
3  a  d  n  m
4  b  z  a  k
> for (i in c(1,3,4)) {
+   dat[,i][dat[,i] == "a"] = 100       ##利用for循环实现指定行的替换
+ }
> dat
   c1 c2  c3  c4
1   x  a   d   x
2   z ab   m 100
3 100  d   n   m
4   b  z 100   k

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
R语言中自定义函数以及函数的加载发布时间:2022-07-22
下一篇:
R语言-数据预处理发布时间:2022-07-22
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap