การกำหนดตัวแปรและการพิมพ์พร้อมกัน

ฉันสงสัยว่ามีวิธีการกำหนดค่าและพิมพ์ค่าไปยังคอนโซลโดยสังเขปหรือไม่

x <- 1:5; x

นี่คือวิธีที่ฉันจะทำเช่นนี้ แต่ฉันสงสัยว่ามีวิธีการทำเช่นนี้ในข้อความเดียวหรือไม่


person Michael Clinton    schedule 25.02.2014    source แหล่งที่มา


คำตอบ (1)


คุณสามารถลอง:

(x <- 1:5)

or

print(x <- 1:5)

แม้ว่านั่นจะไม่ได้ผลสำหรับสิ่งต่าง ๆ เช่น

(names(x) <- letters[1:5])

แม้ว่าสำหรับตัวอย่างเฉพาะนั้นคุณสามารถทำได้:

(x <- setNames(x, letters[1:5]))
person BrodieG    schedule 25.02.2014
comment
ไม่คาดคิด แต่ ("names<-"(x, letters[1:5])) พิมพ์ x พร้อมชื่อ - person alexis_laz; 25.02.2014
comment
@alexis_laz แต่น่าเสียดายที่ไม่ได้ตั้งชื่อให้กับ x; ฉันคิดว่าเพื่อให้มนต์ดำทำงานได้ คุณต้องใช้แบบฟอร์ม names(x) <- ... หรือฉันเดาว่าคุณสามารถทำได้ (x <- "names<-"(x, letters[1:5])) ซึ่งน่าสนใจเพราะนี่เป็นกลไกทั่วไปสำหรับวิธีการแทนที่อื่น ๆ ที่ไม่มีฟังก์ชันเช่น setNames - person BrodieG; 25.02.2014
comment
อืม ฉันดูสิ่งที่คุณพูดแล้วฉันก็สับสน.. ดูสิ่งนี้ x = 1; y = c(1,2); "names<-"(x, "x"); "names<-"(y, c("y1", "y2")); x; y; x ไม่ได้รับแอตทริบิวต์ชื่อในขณะที่ y ได้รับ หาก x ตั้งชื่อด้วย names(x) <- .. แสดงว่า "names<-"(x, ..) จะเปลี่ยนชื่อ - person alexis_laz; 25.02.2014
comment
@alexis_laz ฉันเกรงว่าฉันจะยังไม่ได้รับการตั้งชื่อใด ๆ สำหรับ x หรือ y ด้วยรหัสของคุณ ถ้าฉันลอง names(x) <- "a"; "names<-"(x, "x"); x ฉันยังคงได้รับชื่อดั้งเดิมใน x (เช่น a) เช่นกัน - person BrodieG; 25.02.2014
comment
โปรดดูดังนั้น คำถาม/คำตอบ สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับความแตกต่างระหว่าง @alexis_laz และฉันเห็นที่นี่ - person BrodieG; 26.02.2014