انجمن‌های فارسی اوبونتو

لطفاً به انجمن‌ها وارد شده و یا جهت ورود ثبت‌نام نمائید

لطفاً جهت ورود نام کاربری و رمز عبورتان را وارد نمائید


توزیع گنو/لینوکس اوبونتو ۲۰ ساله شد 🎉

نویسنده موضوع: بدست آوردن فراوانی هر داده در LibreOffice Calc + آموزش {حل شد}  (دفعات بازدید: 7712 بار)

0 کاربر و 3 مهمان درحال مشاهده موضوع.

آفلاین majidkamali1370

  • Hero Member
  • *
  • ارسال: 928
  • جنسیت : پسر
سلام.
من توی libreOffice یک ستون دارم که توش یه سری عدد صحیح هست. مثلا از G3 تا G100. حالا چطوری بیام واسه هر داده فراوانیشو حساب کنم. مثلا بگم از عدد ۵ ، ۱۲ تا داریم و ... البته این جدول داده در مقابل فراوانی رو یک حای دیگه میخوام بسازم.
اگه اون ستون یه نوشته باشه، مثلا توش چیزایی مثل "Hi" , "Hello" و... باشه، روش فرقی میکنه؟ مثلا بیام و تعداد Hello ها رو بشمرم.

با تشکر
« آخرین ویرایش: 05 اسفند 1391، 02:03 ق‌ظ توسط majidkamali1370 »
Ubuntu 14.04 LTS 64-bit - unity

آفلاین سلمان م.

  • ناظر انجمن
  • *
  • ارسال: 4106
  • جنسیت : پسر
  • GNU Operating System - سیستم عامل گنو
پاسخ : بدست آوردن فراوانی هر داده
« پاسخ #1 : 04 اسفند 1391، 03:05 ق‌ظ »
منظورت نمودار توزیع فراوانی (frequency distribution) هست؟ چیزی شبیه به عکس پایین؟ باید از تابع زیر استفاده کنی:
FREQUENCY(data,classes)اینم راهنماش: https://help.libreoffice.org/Calc/Array_Functions#FREQUENCY
اگه اطلاعاتت خصوصی نیستن بذار همینجا تا راست و ریستش کنم و گرنه برای پ.خ. کن.

نکته: classes یعنی می‌خوای توزیع فراوانیت رو روی چه rangeهایی بهت بده. من بهش گفتن [۱ ۲]، (۲ ۳]، (۳ ۴] و ...
تو میتونی مثلا range رو اینجوری تعریف کنی: ۰تا ۵ ، ۵ تا ۱۰، ۱۰ تا ۱۵ و ...


آفلاین alend

  • High Hero Member
  • *
  • ارسال: 1319
پاسخ : بدست آوردن فراوانی هر داده
« پاسخ #2 : 04 اسفند 1391، 04:34 ق‌ظ »
اگر خواستی از R استفاده کنی table این کار رو انجام می دهد.

آفلاین majidkamali1370

  • Hero Member
  • *
  • ارسال: 928
  • جنسیت : پسر
پاسخ : بدست آوردن فراوانی هر داده
« پاسخ #3 : 04 اسفند 1391، 09:51 ق‌ظ »
با تشکر از دوستان. ولی مشکلی که هست اینه که من ستون جداگونه ای برای اینکه بگم داده ها چیا هستن ندارم. خودِ همون ستون داده ها همونجان. مثلا من یه ستون دارم به صورت زیر:
1
2
6
5
1
6
3
8
6
...
حالا میخوام توی این بگم مثلا چنتا ۶ هست. برای هر عدد به همین ترتیب.
Ubuntu 14.04 LTS 64-bit - unity

آفلاین alend

  • High Hero Member
  • *
  • ارسال: 1319
پاسخ : بدست آوردن فراوانی هر داده
« پاسخ #4 : 04 اسفند 1391، 10:01 ق‌ظ »
کد R:
> data=c(1,2,6,5,1,6,3,8,6)
> table(data)
data
1 2 3 5 6 8
2 1 1 1 3 1

آفلاین majidkamali1370

  • Hero Member
  • *
  • ارسال: 928
  • جنسیت : پسر
پاسخ : بدست آوردن فراوانی هر داده
« پاسخ #5 : 04 اسفند 1391، 10:28 ق‌ظ »
با تشکر از دوستان. من اون کار آقا سلمان رو انجام دادم ولی اگه اطلاعات نوشته باشن نمیشه این کارو کرد. کسی راهی بلده؟
Ubuntu 14.04 LTS 64-bit - unity

آفلاین alend

  • High Hero Member
  • *
  • ارسال: 1319
پاسخ : بدست آوردن فراوانی هر داده
« پاسخ #6 : 04 اسفند 1391، 11:12 ق‌ظ »
با تشکر از دوستان. من اون کار آقا سلمان رو انجام دادم ولی اگه اطلاعات نوشته باشن نمیشه این کارو کرد. کسی راهی بلده؟

منظورت از "ولی اگه اطلاعات نوشته باشن نمیشه این کارو کرد. کسی راهی بلده؟" چیه؟

آفلاین سلمان م.

  • ناظر انجمن
  • *
  • ارسال: 4106
  • جنسیت : پسر
  • GNU Operating System - سیستم عامل گنو
پاسخ : بدست آوردن فراوانی هر داده
« پاسخ #7 : 04 اسفند 1391، 11:14 ق‌ظ »
منظورت از "ولی اگه اطلاعات نوشته باشن نمیشه این کارو کرد. کسی راهی بلده؟" چیه؟
یعنی داده‌هامون عدد نباشن و متن باشن. از پست قبلیت هم استفاده بردم ممنون.

آفلاین majidkamali1370

  • Hero Member
  • *
  • ارسال: 928
  • جنسیت : پسر
پاسخ : بدست آوردن فراوانی هر داده
« پاسخ #8 : 04 اسفند 1391، 12:04 ب‌ظ »
حداقل میشه این کارو که میگم کرد؟
یه ستون دارم که توش یه چیزایی هست (متن و عدد فرقی نمیکنه) و یه سریهاش تکراریه.
چطور میشه از اطلاعات اون ستون همه داده ها رو داشت ولی از هرکدوم یکی.
مثلا:
1
2
5
8
1
8
به این تبدیلش کنم:
1
2
5
8

راجع به سوال قبلی کسی نظری نداره؟
نقل‌قول
اگه اطلاعات نوشته باشن نمیشه این کارو کرد. کسی راهی بلده؟

با تشکر
« آخرین ویرایش: 04 اسفند 1391، 12:34 ب‌ظ توسط majidkamali1370 »
Ubuntu 14.04 LTS 64-bit - unity

آفلاین alend

  • High Hero Member
  • *
  • ارسال: 1319
پاسخ : بدست آوردن فراوانی هر داده
« پاسخ #9 : 04 اسفند 1391، 12:07 ب‌ظ »
حتما می خواهی با calc انجامش بدی؟

آفلاین majidkamali1370

  • Hero Member
  • *
  • ارسال: 928
  • جنسیت : پسر
پاسخ : بدست آوردن فراوانی هر داده
« پاسخ #10 : 04 اسفند 1391، 12:25 ب‌ظ »
اگه بشه خیلی خوب میشه.
با R هم میشه ولی توی سافتور سنتر دیدم حجمش حدود ۴۰ مگ بود. تازه من بلد نیستم باهاش کار کنم. اگه بشه با همین calc درستش کنم خیلی خوب میشه :(
Ubuntu 14.04 LTS 64-bit - unity

آفلاین سلمان م.

  • ناظر انجمن
  • *
  • ارسال: 4106
  • جنسیت : پسر
  • GNU Operating System - سیستم عامل گنو

آفلاین alend

  • High Hero Member
  • *
  • ارسال: 1319
پاسخ : بدست آوردن فراوانی هر داده
« پاسخ #12 : 04 اسفند 1391، 12:31 ب‌ظ »
اگه بشه خیلی خوب میشه.
با R هم میشه ولی توی سافتور سنتر دیدم حجمش حدود ۴۰ مگ بود. تازه من بلد نیستم باهاش کار کنم. اگه بشه با همین calc درستش کنم خیلی خوب میشه :(
در مورد قسمت اول که نمی تونم کاری انجام بدم ولی در مورد قسمت دوم که خیلی ساده است.

آفلاین majidkamali1370

  • Hero Member
  • *
  • ارسال: 928
  • جنسیت : پسر
پاسخ : بدست آوردن فراوانی هر داده + آموزش {حل شد}
« پاسخ #13 : 05 اسفند 1391، 02:02 ق‌ظ »
با سپاس مجدد از دوستان.
آموزش این کار رو میذارم اینجا تا هرکی خواست فیض ببره ;)

فرض کنید یک ستون داریم که حاوی یک سری اطلاعات هست که ممکنه توش تکرار هم باشه (متن [string] یا عدد فرقی نمیکنه). من متنیش رو توضیح میدم، واسه عددی هم همینه. فرض کنید یه ستون داریم که به صورت زیر باشه و از A1 شروع شده:
Hi
Hello
Code
Yes
Hi
No
Hi
Code
Yes

ابتدا اون ستون رو انتخاب میکنیم و از منوی Data و از قسمت Fil*ter گزینه Standard Fil*ter رو انتخاب میکنیم و در پنجره باز شده، زیر نوشته Field name رو در حالت -none- قرار میدیم و بعد در قسمت More Options تیک No Duplicate و Copy Results رو میزنیم و در جلوی گزینه Copy Results جایی که میخوایم اون ستون جدید درست بشه رو مشخص میکنیم. مثلا من اینجا فرض میکنم که اون ستون بدون تکرار رو از سلول D1 شروع میکنم. پس توی اون کادر مینویسم D1 و بعد هم OK
حالا یه ستون داریم مثل زیر که توش تکراری نیست:
Hello
Code
Yes
Hi
No

حالا کنار سلول اولی که میشه سلول E1 این دستور رو مینویسیم:
=countif(A1:A9, D1)
تابع countif میاد و توی یه آرایه (پارامتر اول)، چک میکنه پارامتر دوم درست هست یا نه. پارامتر دوم میتونه یه عدد، متن یا یه عبارت باشه [که اینجا یه متنه].
حالا اون فرمول رو با یه درگ (drag) برای بقیه خونه های این ستون هم اعمال میکنیم. در نهایت در ستونهای D و E همچین چیزی داریم:
Hello   1
Code    2
Yes     2
Hi      3
No      1

حالا مثلا میشه از روی این اطلاعات نمودار فراوانی هر داده رو کشید.

نکات:
۱. اگه اطلاعات به صورت عدد باشند میشه همونطور که آقا سلمان هم فرمودن از تابع frequency استفاده کرد. (من این تابع رو برای متنها امتحان کردم نشد، شما دوستان هم زحمت بکشید امتحان کنید و اگه شد بفرمایید که تصحیح کنم)
۲. اگه برای متن‌ها این روش جواب نداد، ستونهای A و D رو از قسمت Format Cells در حالت Text قرار بدید.
Ubuntu 14.04 LTS 64-bit - unity

آفلاین alend

  • High Hero Member
  • *
  • ارسال: 1319
کد R:
> a=c("Hi","Hello","Code","Yes","Hi","No","Hi","Code","Yes")
> table(a)
a
 Code Hello    Hi    No   Yes
    2     1     3     1     2
> barplot(table(a))
فکر نمی کنید که R یکم ساده تر است!
« آخرین ویرایش: 05 اسفند 1391، 07:34 ق‌ظ توسط alend »