আমি ম্যাট্রিক্স এ এর প্রতিটি কলামের বিরুদ্ধে একটি ভেক্টর বিকে পুনরায় চাপিয়ে দিতে চাই, যদি কোনও অনুপস্থিত তথ্য না পাওয়া যায় তবে এটি তুচ্ছ, তবে যদি ম্যাট্রিক্স এ-তে অনুপস্থিত মান রয়েছে, তবে এ এর বিরুদ্ধে আমার প্রতিরোধকে কেবল সারি অন্তর্ভুক্ত করতে বাধ্য করা হবে যেখানে সমস্ত মান উপস্থিত থাকে (ডিফল্ট na.omit আচরণ)। এটি কোনও অনুপস্থিত ডেটা ছাড়াই কলামগুলির জন্য ভুল ফলাফল উত্পন্ন করে। আমি ম্যাট্রিক্স এ এর স্বতন্ত্র কলামগুলির বিপরীতে কলাম ম্যাট্রিক্স বি পুনরায় চাপতে পারি, তবে আমার হাজার হাজার রেজিস্ট্রেশন করতে হবে এবং এটি নিষেধাজ্ঞামূলকভাবে ধীর এবং অকার্যকর। Na.exclude ফাংশন এই ক্ষেত্রে জন্য ডিজাইন করা হবে বলে মনে হয়, কিন্তু আমি এটা কাজ করতে পারবেন না। আমি এখানে কি ভুল করছি? ওএসএক্সে আর 2.13 আর ব্যবহার করা, যদি এটি বিবেচনা করে।
A = matrix(1:20, nrow=10, ncol=2)
B = matrix(1:10, nrow=10, ncol=1)
dim(lm(A~B)$residuals)
# [1] 10 2 (the expected 10 residual values)
# Missing value in first column; now we have 9 residuals
A[1,1] = NA
dim(lm(A~B)$residuals)
#[1] 9 2 (the expected 9 residuals, given na.omit() is the default)
# Call lm with na.exclude; still have 9 residuals
dim(lm(A~B, na.action=na.exclude)$residuals)
#[1] 9 2 (was hoping to get a 10x2 matrix with a missing value here)
A.ex = na.exclude(A)
dim(lm(A.ex~B)$residuals)
# Throws an error because dim(A.ex)==9,2
#Error in model.frame.default(formula = A.ex ~ B, drop.unused.levels = TRUE) :
# variable lengths differ (found for 'B')