การแปลงอาร์กไซน์ใน r (พร้อมตัวอย่าง)


การแปลงส่วนโค้ง สามารถใช้เพื่อ “ขยาย” จุดข้อมูลระหว่างค่า 0 ถึง 1

การแปลงประเภทนี้มักจะใช้เมื่อต้องจัดการกับสัดส่วนและเปอร์เซ็นต์

เราสามารถใช้ไวยากรณ์ต่อไปนี้เพื่อทำการแปลงอาร์กไซน์ใน R:

 asin(sqrt(x))

ตัวอย่างต่อไปนี้แสดงวิธีใช้ไวยากรณ์นี้ในทางปฏิบัติ

ตัวอย่างที่ 1: การแปลงอาร์กไซน์ของค่าระหว่าง 0 ถึง 1

รหัสต่อไปนี้แสดงวิธีการแปลงอาร์กไซน์กับค่าเวกเตอร์ระหว่าง 0 ถึง 1:

 #definevector
x <- c(0.1, 0.33, 0.43, 0.5, 0.7)

#perform arcsine transformation on values in vector
asin(sqrt(x))

[1] 0.3217506 0.6119397 0.7151675 0.7853982 0.9911566

ตัวอย่างที่ 2: การแปลงอาร์กไซน์ของค่าที่อยู่นอกช่วง 0 ถึง 1

โปรดทราบว่าการแปลงอาร์คไซน์ใช้ได้กับค่าระหว่าง 0 ถึง 1 เท่านั้น ดังนั้นหากเรามีเวกเตอร์ที่มีค่าอยู่นอกช่วงนี้ เราต้องแปลงแต่ละค่าให้อยู่ระหว่าง 0 ถึง 1 ก่อน

 #define vector with values outside of range 0 to 1
x <- c(2, 14, 16, 30, 48, 78)

#create new vector where each value is divided by max value
y <- x / max(x)

#view new vector
y

[1] 0.02564103 0.17948718 0.20512821 0.38461538 0.61538462 1.00000000

#perform arcsine transformation on new vector
asin(sqrt(y))

[1] 0.1608205 0.4374812 0.4700275 0.6689641 0.9018323 1.5707963

ตัวอย่างที่ 3: การแปลงอาร์คไซน์ของค่าในกรอบข้อมูล

รหัสต่อไปนี้แสดงวิธีการแปลงอาร์กไซน์ของค่าในคอลัมน์เฉพาะของกรอบข้อมูล:

 #define data frame
df <- data. frame (var1=c(.2, .3, .4, .4, .7),
                 var2=c(.1, .2, .2, .2, .3),
                 var3=c(.04, .09, .1, .12, .2))

#perform arcsine transformation on values in 'var1' column
asin(sqrt(df$var1))

[1] 0.4636476 0.5796397 0.6847192 0.6847192 0.9911566

และโค้ดต่อไปนี้แสดงวิธีการแปลงอาร์คไซน์ของค่าในหลายคอลัมน์ของเฟรมข้อมูล:

 #define data frame
df <- data. frame (var1=c(.2, .3, .4, .4, .7),
                 var2=c(.1, .2, .2, .2, .3),
                 var3=c(.04, .09, .1, .12, .2))

#perform arcsine transformation on values in 'var1' and 'var3' columns
sapply(df[ c(' var1 ', ' var3 ')], function (x) asin(sqrt(x)))

          var1 var3
[1,] 0.4636476 0.2013579
[2,] 0.5796397 0.3046927
[3,] 0.6847192 0.3217506
[4,] 0.6847192 0.3537416
[5,] 0.9911566 0.4636476

แหล่งข้อมูลเพิ่มเติม

วิธีแปลงข้อมูลใน R (Log, Square Root, Cube Root)
วิธีดำเนินการแปลง Box-Cox ใน R
วิธีใช้ฟังก์ชันการบันทึกใน R
วิธีใช้ฟังก์ชันรากที่สองใน R

เพิ่มความคิดเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *