سؤال

لدي سؤال مبتدئ آخر ؛

لنقول إن لدي مجموعة من الأرقام

graph_val <- c(4,2,3,4,1,1,9)

وأنا بحاجة إلى إنشاء جدول تردد لهم مقابل هذا المقياس

           1            2            3            4            5            9 
 "Very Poor"       "Poor"    "Average"       "Good"  "Very Good" "Don't Know" 

في الأساس ما أريد أن أعرفه هو كيف أحصل على جدول في هذا التنسيق:

 "Very Poor"       "Poor"    "Average"       "Good"  "Very Good" "Don't Know"
           2            1            1            1            0            1 

أو على الأقل:

           1            2            3            4            5            9
           2            1            1            1            0            1 

ويمكنني إضافة الملصقات في وقت لاحق باستخدام الأسماء. arg مع barplot 2.

لقد كنت في هذا الأمر لمعظم اليوم ، وبعد هذا الإبحار الواضح لبقية وظيفتي الأتمتة. اعتقدت أنني كنت على المسار الصحيح مع جدولة ولكن لم أستطع الوصول إلى هناك.

هل كانت مفيدة؟

المحلول

تحتاج أولاً إلى عوامل بياناتك. فكر في عامل بالضبط في الطريقة التي تفكر بها في متغير فئوي. تخبرها المستويات بما يمكن توقعه ، العلامات تعطيها اسمًا جميلًا.

graph_val <- factor(graph_val, levels=c(1,2,3,4,5,9), labels=strsplit('
Very Poor
Poor
Average
Good
Very Good
Don\'t Know
', '\n')[[1]][-1]) 
## Take note of the escape character in Don\'t Know

summary(graph_val)

إذا كنت بحاجة إلى نسب مئوية ، فيمكنك فعل شيء مثل هذا:

summary(graph_val)/length(graph_val)\

أو هذا:

round(summary(graph_val)/length(graph_val),2)

نصائح أخرى

ما يلي من "مقدمة إلى R" يجيب مباشرة على سؤالك:

http://cran.r-project.org/doc/manuals/r-intro.html#frequency-tables-from-factors

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top