สาม ยอดนิยม คำตอบที่มีความอ่อนแอ
หาก dataframe ของคุณมีลักษณะเช่นนี้
df <- data.frame(Time=c(1,2), In=c(2,3), Out=c(3,4), Files=c(4,5))
> df
Time In Out Files
1 1 2 3 4
2 2 3 4 5
ถ้าอย่างนั้นมันเป็นทางออกที่ดีที่จะใช้
> df2[,c(1,3,2,4)]
มันทำงานได้ แต่คุณเพิ่งแนะนำการพึ่งพาลำดับของคอลัมน์ในอินพุตของคุณ
รูปแบบการเขียนโปรแกรมแบบเปราะนี้ควรหลีกเลี่ยง
การตั้งชื่อคอลัมน์อย่างชัดเจนเป็นทางออกที่ดีกว่า
data[,c("Time", "Out", "In", "Files")]
นอกจากนี้หากคุณตั้งใจจะนำรหัสของคุณกลับมาใช้ใหม่ในการตั้งค่าทั่วไปคุณสามารถทำได้ง่ายๆ
out.column.name <- "Out"
in.column.name <- "In"
data[,c("Time", out.column.name, in.column.name, "Files")]
ซึ่งก็ค่อนข้างดีเพราะมันแยกตัวอักษรได้อย่างสมบูรณ์ ในทางตรงกันข้ามถ้าคุณใช้ dplyrselect
data <- data %>% select(Time, out, In, Files)
จากนั้นคุณจะตั้งค่าผู้ที่จะอ่านรหัสของคุณในภายหลังด้วยตัวคุณเองเพื่อเป็นการหลอกลวง ชื่อคอลัมน์กำลังถูกใช้เป็นตัวอักษรโดยไม่ปรากฏในรหัสดังกล่าว
help(Extract)
หรือที่รู้จักกันในนาม?'['