আর-তে ফ্যাক্টর ভেরিয়েবল দ্বারা স্বয়ংক্রিয়ভাবে সংক্ষিপ্তসার তৈরি করুন


11

আমি নিম্নলিখিতগুলির মতো একটি ডেটাফ্রেম পেয়েছি:

   case simulation temp plank oxygen
1     1          1    8     7     11
2     2          1   16    10     15
...
17   17          2   26    12     17
18   18          2   15     8     12
19   19          2   28    11     21
20   20          2   24     6     14

আমি সিমুলেশন ভেরিয়েবলের স্তর দ্বারা সারাংশগুলি বিভক্ত করতে চাই। উদাহরণস্বরূপ, আমি tempসিমুলেশন == 1 এবং সিমুলেশন == 2 এর গড়টি পছন্দ করতে পারি এবং মানক বিচ্যুতির জন্য একই করতে পারি।

এই মুহুর্তে আমি নিম্নলিখিত কোডটি ব্যবহার করছি, যা বেশ ভয়ঙ্কর:

df <- read.csv("data.csv")
attach(df)

# Create subset variables
temp1 = subset(temp, simulation==1)
temp2 = subset(temp, simulation==2)

plank1 = subset(plank, simulation==1)
plank2 = subset(plank, simulation==2)

oxygen1 = subset(oxygen, simulation==1)
oxygen2 = subset(oxygen, simulation==2)

print(sd(temp1))
print(sd(temp2))
print(sd(plank1))
print(sd(plank2))

আমি নিশ্চিত যে আর তে এটি করার একটি স্বয়ংক্রিয় উপায় থাকতে হবে তবে আমি এটি খুঁজে পাচ্ছি না। আমি ব্যবহার করার চেষ্টা করেছি summary(df ~ simulation), কিন্তু এটি দরকারী কিছু উত্পাদন করে না।

উত্তর:


17

by()বা tapply()কাজগুলি পরীক্ষা করে দেখুন । মূলত,

tapply(y, g, mean)

yস্তর দ্বারা আপনি গড় দিতে হবে g। যদি আপনি ফলাফলের সম্মিলিত ব্যবস্থা থেকে কোনও ডেটা ফ্রেম পেতে চান তবে ব্যবহার করুন aggregate()

Hmisc প্যাকেজে summary.formula()ফাংশনের মাধ্যমে আরও বিশদযুক্ত সমাধান পাওয়া যায় ।


3

প্যাকেজের doByএকটি summaryByফাংশন রয়েছে যা আপনার চেষ্টা করা মতো একটি সূত্র ভিত্তিক সিনট্যাক্স রয়েছে।

এছাড়াও, আমি মনে করি যে স্ট্যাকেক্সচেঞ্জে প্রশ্নটি আরও ভাল জিজ্ঞাসা করা হত।


ধন্যবাদ। আমি প্যাকেজ তাকান। এটি স্ট্যাকেক্সচেঞ্জ তাই না?
রবিন্টইউ

1
আমি মনে করি fabians বোঝানো Stackoverflow: stackoverflow.com যা আর প্রোগ্রামিং জন্য, আমি আর প্রশ্ন কিছু করতে পারি না। এই জায়গাটি সাধারণত পরিসংখ্যান সম্পর্কে। দুটি যদিও অনেক কিছু মিশ্রিত করতে পারে।
গ্যাভিন সিম্পসন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.