সাধারণভাবে এই ত্রুটি বার্তার অর্থ আপনি কোনও ফাংশনে ইনডেক্সিং ব্যবহার করার চেষ্টা করেছেন। উদাহরণস্বরূপ আপনি এই ত্রুটি বার্তাটি পুনরুত্পাদন করতে পারেন
mean[1]
## Error in mean[1] : object of type 'closure' is not subsettable
mean[[1]]
## Error in mean[[1]] : object of type 'closure' is not subsettable
mean$a
## Error in mean$a : object of type 'closure' is not subsettable
ত্রুটি বার্তায় উল্লিখিত ক্লোজারটি হ'ল (আলগাভাবে) ফাংশন এবং পরিবেশটি যখন ফাংশন বলা হয় তখন ভেরিয়েবলগুলি সঞ্চয় করে।
এই নির্দিষ্ট ক্ষেত্রে, জোশুয়া যেমন উল্লেখ করেছেন, আপনি url
ভেরিয়েবল হিসাবে ফাংশনটি অ্যাক্সেস করার চেষ্টা করছেন । যদি আপনি নামের একটি ভেরিয়েবল সংজ্ঞায়িত করেন url
তবে ত্রুটিটি চলে যায়।
ভাল অনুশীলনের বিষয় হিসাবে, আপনার সাধারণত বেস-আর ফাংশনগুলির পরে ভেরিয়েবলের নাম এড়ানো উচিত। (ভেরিয়েবলকে কল করা data
এই ত্রুটির একটি সাধারণ উত্স))
অপারেটর বা কীওয়ার্ডগুলি সাবসেট করার চেষ্টা করার জন্য বেশ কয়েকটি সম্পর্কিত ত্রুটি রয়েছে।
`+`[1]
## Error in `+`[1] : object of type 'builtin' is not subsettable
`if`[1]
## Error in `if`[1] : object of type 'special' is not subsettable
আপনি যদি এই সমস্যাটির মধ্যে চলে আসেন shiny
তবে সর্বাধিক সম্ভাব্য কারণ হ'ল আপনি reactive
বন্ধনী ব্যবহার করে কোনও ফাংশন হিসাবে ডাকে না দিয়ে কোনও অভিব্যক্তি নিয়ে কাজ করার চেষ্টা করছেন ।
library(shiny)
reactive_df <- reactive({
data.frame(col1 = c(1,2,3),
col2 = c(4,5,6))
})
যদিও আমরা প্রায়শই চকচকে প্রতিক্রিয়াশীল এক্সপ্রেশন নিয়ে কাজ করি যেন তারা ডেটা ফ্রেম হয় তবে এগুলি আসলে এমন ফাংশন যা ডেটা ফ্রেম (বা অন্যান্য অবজেক্ট) ফেরত দেয়।
isolate({
print(reactive_df())
print(reactive_df()$col1)
})
col1 col2
1 1 4
2 2 5
3 3 6
[1] 1 2 3
তবে যদি আমরা এটি প্রথম বন্ধনী ছাড়াই সাবসেট করার চেষ্টা করি তবে আমরা আসলে কোনও ফাংশনকে সূচীকরণের চেষ্টা করছি এবং আমরা একটি ত্রুটি পেয়েছি:
isolate(
reactive_df$col1
)
Error in reactive_df$col1 : object of type 'closure' is not subsettable
[]
পরিবর্তে টাইপ করেন()
!