R语言 | 自定义函数对数据集(data.frame)的列进行条件判断计算

1.使用iris数据集
> iris_10 <- head(iris, n = 10)
## 自定义函数:如果x >= 5.0, z = y *10
> get_With_function <- function(x, y, z){
+     if(x >= 5.0){
+         z <- y * 10
+     }
+     c(zlie = z )
+ }
2.保险起见,设定z列为0,可能也不需要
> iris_10$z <- 0
3.运用自定义函数,对data.frame的x行进行判断,对y列进行运算,赋值到z列
4…注意Map的使用
> iris_10$z <- with(
+     iris_10,
+     Map(
+         get_With_function,
+         iris_10$Sepal.Length,
+         iris_10$Sepal.Width,
+         z
+     )
+     )
> iris_10
   Sepal.Length Sepal.Width Petal.Length Petal.Width
1           5.1         3.5          1.4         0.2
2           4.9         3.0          1.4         0.2
3           4.7         3.2          1.3         0.2
4           4.6         3.1          1.5         0.2
5           5.0         3.6          1.4         0.2
6           5.4         3.9          1.7         0.4
7           4.6         3.4          1.4         0.3
8           5.0         3.4          1.5         0.2
9           4.4         2.9          1.4         0.2
10          4.9         3.1          1.5         0.1
   Species  z
1   setosa 35
2   setosa  0
3   setosa  0
4   setosa  0
5   setosa 36
6   setosa 39
7   setosa  0
8   setosa 34
9   setosa  0
10  setosa  0
  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值