আর স্ক্রিপ্টিং ভাষায়, আমি কীভাবে পাঠ্যের লাইন লিখব, উদাহরণস্বরূপ নীচের দুটি লাইন
Hello
World
"আউটপুট.টেক্সট" নামের একটি ফাইলের কাছে?
আর স্ক্রিপ্টিং ভাষায়, আমি কীভাবে পাঠ্যের লাইন লিখব, উদাহরণস্বরূপ নীচের দুটি লাইন
Hello
World
"আউটপুট.টেক্সট" নামের একটি ফাইলের কাছে?
উত্তর:
fileConn<-file("output.txt")
writeLines(c("Hello","World"), fileConn)
close(fileConn)
writeLines()
প্রায় দশগুণ দ্রুত হয় তারপরে sink()
এবংcat()
আসলে আপনি এটি দিয়ে এটি করতে পারেনsink()
:
sink("outfile.txt")
cat("hello")
cat("\n")
cat("world")
sink()
অতএব করুন:
file.show("outfile.txt")
# hello
# world
আমি cat()
কমান্ডটি এই উদাহরণ হিসাবে ব্যবহার করব :
> cat("Hello",file="outfile.txt",sep="\n")
> cat("World",file="outfile.txt",append=TRUE)
এরপরে আপনি আর এর মাধ্যমে ফলাফলগুলি দেখতে পারবেন
> file.show("outfile.txt")
hello
world
একটি সাধারণ সম্পর্কে কি writeLines()
?
txt <- "Hallo\nWorld"
writeLines(txt, "outfile.txt")
অথবা
txt <- c("Hallo", "World")
writeLines(txt, "outfile.txt")
"Hallo\nWorld"
চরিত্রের ধরণের দৈর্ঘ্যের এক ভেক্টর। শুধু চেষ্টা করুনtxt <- "Hallo\nWorld"; is.character(txt) && length(txt) == 1 && is.vector(txt)
writeLines(txt, con="outfile.txt")
।
> coefficients<-summary(model) > writeLines(coefficients, "coefficients") Error in writeLines(coefficients, "coefficients") : invalid 'text' argument
আমার পরামর্শ:
writeLines(c("Hello","World"), "output.txt")
এটি বর্তমান গৃহীত উত্তরের চেয়ে সংক্ষিপ্ত এবং আরও সরাসরি। এটি করার প্রয়োজন হয় না:
fileConn<-file("output.txt")
# writeLines command using fileConn connection
close(fileConn)
কারণ ডকুমেন্টেশন writeLines()
বলেছেন:
যদি
con
একটি চরিত্রের স্ট্রিং থাকে তবে ফাংশনটিfile
একটি ফাইল সংযোগ পেতে কল করে যা ফাংশন কলটির সময়কালের জন্য খোলা হয়।
# default settings for writeLines(): sep = "\n", useBytes = FALSE
# so: sep = "" would join all together e.g.
পাইপ এবং write_lines()
পাঠকের কাছ থেকে পরিপাটি সংস্করণ
library(tidyverse)
c('Hello', 'World') %>% write_lines( "output.txt")
আর-তে কোনও ফাইলের পাঠ্যগুলির লাইন লেখার সংক্ষিপ্ত উপায়গুলি বিড়াল বা রাইটলাইন দ্বারা উপলব্ধ করা যেতে পারে যেমন ইতিমধ্যে অনেক উত্তরে দেখানো হয়েছে। সংক্ষিপ্ত সম্ভাবনার কয়েকটি হতে পারে:
cat("Hello\nWorld", file="output.txt")
writeLines("Hello\nWorld", "output.txt")
আপনি যদি "\ n" পছন্দ করেন না তবে আপনি নিম্নলিখিত স্টাইলটিও ব্যবহার করতে পারেন:
cat("Hello
World", file="output.txt")
writeLines("Hello
World", "output.txt")
যদিও writeLines একটি যোগ সম্পর্কে newline ফাইল কি জন্য ঘটনা না শেষে বিড়াল । এই আচরণটি সামঞ্জস্য করতে পারে:
writeLines("Hello\nWorld", "output.txt", sep="") #No newline at end of file
cat("Hello\nWorld\n", file="output.txt") #Newline at end of file
cat("Hello\nWorld", file="output.txt", sep="\n") #Newline at end of file
তবে প্রধান পার্থক্য হ'ল বিড়াল আর অবজেক্টগুলি ব্যবহার করে এবং যুক্তি হিসাবে একটি অক্ষর ভেক্টরকে রাইনলাইন করে । সুতরাং লেখার জন্য উদাহরণস্বরূপ 1:10 নম্বরের লিখনের জন্য কাস্ট করা দরকার যখন এটি বিড়াল হিসাবে রয়েছে তেমন ব্যবহার করা যেতে পারে:
cat(1:10)
writeLines(as.character(1:10))
বৃত্তাকার আউট সম্ভাবনার, আপনি ব্যবহার করতে পারেন writeLines()
সঙ্গে sink()
যদি আপনি চান:
> sink("tempsink", type="output")
> writeLines("Hello\nWorld")
> sink()
> file.show("tempsink", delete.file=TRUE)
Hello
World
আমার কাছে এটি সর্বদা ব্যবহার করা সবচেয়ে স্বজ্ঞাত বলে মনে হয় print()
, তবে আপনি যদি এটি করেন তবে আউটপুটটি যা চান তা হ'ল না:
...
> print("Hello\nWorld")
...
[1] "Hello\nWorld"
সেরা উত্তরের ভিত্তিতে :
file <- file("test.txt")
writeLines(yourObject, file)
close(file)
নোট করুন যে yourObject
স্ট্রিং ফর্ম্যাটে থাকা দরকার; as.character()
আপনার প্রয়োজন হলে রূপান্তর করতে ব্যবহার করুন ।
তবে এটি সংরক্ষণের প্রতিটি চেষ্টাতে খুব বেশি টাইপ করা । আসুন আরস্টুডিওতে একটি স্নিপেট তৈরি করুন।
গ্লোবাল বিকল্পসমূহ >> কোড >> স্নিপেটে, এটি টাইপ করুন:
snippet wfile
file <- file(${1:filename})
writeLines(${2:yourObject}, file)
close(file)
তারপরে কোডিংয়ের সময় টাইপ করে wfile
টিপুনTab ।
file <- file(...)
লাইন আমার কাছে সন্দেহজনক মনে হচ্ছে। এটি উভয়ই file
কোনও ফাংশন হিসাবে প্রার্থনা এবং file
একটি নতুন অর্থ নির্ধারণ করে না ? file()
এই টুকরা কোড চালানোর পরেও কি কাজ করে? এই মুহুর্তে নিজেকে পরীক্ষা করার জন্য কোনও আর ইনস্টলেশনের অ্যাক্সেস রাখবেন না ...
কি সরল write.table()
?
text = c("Hello", "World")
write.table(text, file = "output.txt", col.names = F, row.names = F, quote = F)
প্যারামিটারগুলি col.names = FALSE
এবং row.names = FALSE
txt এ সারি এবং কলামের নামগুলি বাদ দেওয়ার বিষয়টি নিশ্চিত করুন এবং পরামিতিটি txt quote = FALSE
এর প্রতিটি লাইনের শুরু এবং শেষে সেই উদ্ধৃতি চিহ্নগুলি বাদ দেয়। আবার ডেটা পড়তে, আপনি ব্যবহার করতে পারেন text = readLines("output.txt")
।
আর এর নতুন সংস্করণগুলিতে, writeLines
আপনার পাঠ্যে রিটার্ন এবং ফাঁকা স্থান সংরক্ষণ করবে, সুতরাং আপনাকে \n
লাইনগুলির শেষে অন্তর্ভুক্ত করার প্রয়োজন হবে না এবং আপনি কোনও ফাইলটিতে একটি বড় অংশ লেখতে পারেন। এটি উদাহরণ সহ কাজ করবে,
txt <- "Hello
World"
fileConn<-file("output.txt")
writeLines(txt, fileConn)
close(fileConn)
তবে আপনি কাঠামোগুলি (লাইনব্রেকস বা ইনডেন্টস) পাঠ্য অন্তর্ভুক্ত করতে এই সেটআপটিও ব্যবহার করতে পারেন
txt <- "Hello
world
I can
indent text!"
fileConn<-file("output.txt")
writeLines(txt, fileConn)
close(fileConn)