如何使用sas中的floor函数
您可以使用 SAS 中的FLOOR函数返回小于或等于数值的最大整数。
以下示例展示了如何在实践中使用FLOOR函数。
注意:SAS 中FLOOR函数的反义词是CEIL函数。
示例:如何在 SAS 中使用 FLOOR 函数
假设我们在 SAS 中有以下数据集,其中包含有关公司各个员工平均销售商品的信息:
/*create dataset*/
data my_data;
input employee $avg_sales;
datalines ;
Andy 12.3
Bob 14.5
Chad 8.44
Derrick 12.87
Eric 8.01
Frank 10
George 11.5
Henry 11.99
Isaac 7.64
;
run ;
/*view dataset*/
proc print data =my_data;
我们可以使用FLOOR函数返回小于或等于avg_sales列中每个数值的最大整数:
/*create new dataset*/
data new_data;
set my_data;
floor_avg_sales = floor (avg_sales);
run ;
/*view new dataset*/
proc print data =new_data;
请注意,名为Floor_avg_sales的新列包含小于或等于avg_sales列中每个数值的最大整数。
例如:
- 值12.30变为12 。
- 值14.50变为14 。
- 值8.44变为8 。
- 值12.87变为12 。
等等。
FLOOR 和 INT 函数之间的区别
SAS 中的INT函数返回数值的整数部分。
对于正值, FLOOR和INT函数将返回完全相同的数字。
但是, FLOOR和INT函数对于负数会返回不同的值。
以以下数据集为例:
/*create dataset*/ data my_data; input employee $avg_sales; datalines ; Andy 12.3 Bob 14.5 Chad 8.44 Derrick -12.87 Eric -8.01 /*create new dataset*/ data new_data; set my_data; floor_avg_sales = floor (avg_sales); int_avg_sales = int (avg_sales); run ; /*view new dataset*/ proc print data = new_data;
对于正数值, FLOOR和INT函数返回相同的结果。
但是,对于负数值,它们不会返回相同的结果。
FLOOR函数基本上将负数舍入到下一个整数,而INT函数将负数舍入到下一个整数。
其他资源
以下教程解释了如何在 SAS 中执行其他常见任务: