R இல் DataFrame ஐ மாற்றுவது எப்படி

R Il Dataframe Ai Marruvatu Eppati



தரவுத்தொகுப்பை இடமாற்றம் செய்வது, பகுப்பாய்வின் குறிப்பிட்ட தேவைகளைப் பூர்த்தி செய்ய தரவைச் சீர்திருத்தம் செய்யும் செயல்பாடாகும். தரவுத்தொகுப்பை இடமாற்றம் செய்வது, தரவுத்தொகுப்பின் தலைகீழ் வரிசைகள் மற்றும் நெடுவரிசைகளை உள்ளடக்கியது, இதன் விளைவாக மாறிய நெடுவரிசைகள் மற்றும் வரிசைகளுடன் புதிய தரவுத்தொகுப்பு உருவாகிறது. தரவுத்தொகுப்பை மாற்றுவதற்கு R சில செயல்பாடுகளை வழங்குகிறது. இந்தக் கட்டுரையில், R இல் உள்ள DataFramesக்கான பல்வேறு இடமாற்ற முறைகளைப் பற்றிப் பார்ப்போம்.

எடுத்துக்காட்டு 1: R இல் உள்ள T() செயல்பாட்டைப் பயன்படுத்தி DataFrame ஐ மாற்றவும்

t() சார்பு என்பது R இன் உள்ளமைக்கப்பட்ட செயல்பாடாகும், இது டேட்டாஃப்ரேமை இடமாற்றம் செய்யப் பயன்படுகிறது. இருப்பினும், இது DataFrame ஐ மேட்ரிக்ஸாக மாற்றுகிறது, எனவே எந்த எண் அல்லாத நெடுவரிசையும் எழுத்துச் சரங்களாக மாற்றப்படும். DataFrame ஐ மாற்ற பின்வரும் R ஸ்கிரிப்டைக் கவனியுங்கள்:







MyData = data.frame(c1 = c(1, 2, 3, 4, 5),

c2 = c(6, 7, 8, 9, 10),
c3 = c(11, 12, 13, 14, 15))

row.names(MyData) = c('r1','r2','r3','r4','r5')

t(MyData)

இங்கே, நாம் MyData வெக்டரை அறிவித்து அதற்கு data.frame()ஐ ஒதுக்குகிறோம். data.frame() செயல்பாட்டிற்குள் மதிப்புகளுடன் மூன்று நெடுவரிசைகளைக் கொண்ட மாதிரித் தரவைச் செருகுவோம். அதன் பிறகு, 'row.names()' செயல்பாட்டைப் பயன்படுத்துகிறோம் மற்றும் 'MyData' DataFrame இன் மதிப்புகளுக்கு வரிசை பெயர்களை அமைக்கிறோம். இறுதியாக, t() செயல்பாட்டைப் பயன்படுத்தி “MyData” DataFrame ஐ இடமாற்றம் செய்கிறோம்.



பின்வரும் வெளியீடு DataFrame இன் இடமாற்றத்தைக் காட்டுகிறது, அங்கு அசல் DataFrame இன் வரிசைப் பெயர்கள் இடமாற்றப்பட்ட DataFrame இன் நெடுவரிசைப் பெயர்களாக மாறும், மேலும் அசல் DataFrame இன் நெடுவரிசைப் பெயர்கள் இடமாற்றத்தில் இழக்கப்படுகின்றன:







எடுத்துக்காட்டு 2: R இல் உள்ள Transpose() செயல்பாட்டைப் பயன்படுத்தி DataFrame ஐ மாற்றவும்

'data.table' தொகுப்பில் இருந்து transpose() செயல்பாடு ஒரு DataFrame ஐ இடமாற்றம் செய்ய பயன்படுத்தப்படலாம் மற்றும் அது DataFrame ஐ வழங்குகிறது. எனவே, 'data.table' R இல் நிறுவப்பட்டுள்ளதா என்பதை உறுதி செய்ய வேண்டும். அது கிடைக்கவில்லை என்றால், பின்வரும் கட்டளையுடன் அதை நிறுவலாம்:

install.packages('data.table')

இப்போது, ​​DataFrame ஐ மாற்ற R இல் உள்ள transpose() செயல்பாட்டை அணுகுவதற்கு “data.table” தொகுப்பை எளிதாக இறக்குமதி செய்யலாம். டேட்டாஃப்ரேமை மாற்றுவதற்கு டிரான்ஸ்போஸ்() செயல்பாடு அழைக்கப்படும் பின்வரும் R குறியீட்டைக் கவனியுங்கள்:



df <- data.frame(A = c(1:5),

B = c(6:10),
C = c(11:15))


row.names(df) <- c('r1', 'r2', 'r3', 'r4', 'r5')

df

இங்கே, 'df' DataFrame ஐ மூன்று நெடுவரிசைகள் மற்றும் ஐந்து வரிசைகளுடன் உருவாக்குகிறோம், அங்கு ஒவ்வொரு நெடுவரிசையிலும் முறையே 1 முதல் 5, 6 முதல் 10 மற்றும் 11 முதல் 15 வரையிலான எண்களின் வரிசை உள்ளது. கூடுதலாக, row.names() செயல்பாட்டைப் பயன்படுத்தி DataFrame வரிசைப் பெயர்களை ஒதுக்குகிறோம். அதன் பிறகு, அசல் DataFrame ஐ கன்சோலில் அச்சிடுகிறோம்.

அசல் DataFrame இங்கே திரையில் காட்டப்பட்டுள்ளது:

அடுத்து, DataFrame இன் வரிசைகள் மற்றும் நெடுவரிசைகளை மாற்றுவதன் மூலம் அசல் 'df' DataFrame ஐ மாற்றுவோம்.

நூலகம்(data.table)

df_trans <- இடமாற்றம்(df)

rownames(df_trans) <- colnames(df)

colnames(df_trans) <- rownames(df)

df_trans

இதற்காக, R இல் உள்ள அட்டவணை தரவுகளுடன் வேலை செய்வதற்கான கருவிகளை வழங்கும் “data.table” நூலகத்தை முதலில் ஏற்றுவோம். பின்னர், “data.table” நூலகத்திலிருந்து transpose() செயல்பாடு பயன்படுத்தப்படுகிறது. இதன் விளைவாக மாற்றப்பட்ட டேட்டாஃப்ரேம் 'df_t' என்ற புதிய மாறிக்கு ஒதுக்கப்படுகிறது. அதன் பிறகு, அசல் “df” DataFrame இன் நெடுவரிசைப் பெயர்களை rownames() செயல்பாட்டைப் பயன்படுத்தி மாற்றப்பட்ட “df_trans” DataFrame க்கு வரிசை பெயர்களாக ஒதுக்குவோம். பின்னர், அசல் “df” DataFrame இன் வரிசைப் பெயர்கள், colnames() செயல்பாட்டைப் பயன்படுத்தி இடமாற்றப்பட்ட “df_trans” DataFrame க்கு நெடுவரிசைப் பெயர்களாக ஒதுக்கப்படும்.

எனவே, அசல் டேட்டாஃப்ரேம் இடமாற்றம் வெளியீட்டில் அடையப்படுகிறது. இது இடமாற்றம் செய்யப்பட்ட டேட்டாஃப்ரேமில் உள்ள ஒவ்வொரு கலத்தையும் பிரதிபலிக்கிறது, இதில் அசல் டேட்டாஃப்ரேமில் உள்ள தொடர்புடைய கலத்தின் அதே மதிப்பு உள்ளது, ஆனால் இடமாற்றம் காரணமாக வேறுபட்ட நிலையில் உள்ளது.

எடுத்துக்காட்டு 3: டைடிர் லைப்ரரி கேதர்() செயல்பாட்டை R இல் பயன்படுத்தி டேட்டாஃப்ரேமை மாற்றவும்

R இன் tidyr தொகுப்பு ஒரு DataFrame ஐ இடமாற்றம் செய்ய பயன்படுத்தப்படலாம். DataFrame ஐ அகலத்திலிருந்து நீண்ட வடிவத்திற்கு மாற்ற விரும்பும்போது இந்த முறை பயனுள்ளதாக இருக்கும். தரவை மாற்றுவதற்கும் மறுசீரமைப்பதற்கும் இது பல செயல்பாடுகளை வழங்குகிறது. இதற்கு முன், நாம் குறிப்பாக பின்வரும் கட்டளையைப் பயன்படுத்தி tidyr தொகுப்பை பதிவிறக்கம் செய்ய வேண்டும்:

install.packages('tidyr')

பின்வரும் R குறியீட்டைக் கருத்தில் கொள்வோம். பரந்த DataFrame ஐ நீண்ட நேரம் மாற்ற இந்த தொகுப்பின் gather() செயல்பாட்டைப் பயன்படுத்துகிறோம்:

நூலகம்(tidyr)

n = 10

tidy_df = data.frame(

ஐடி = c(1:n),
தேர்வு1_மதிப்பெண்கள் = c(73, 219, 86, 192, 99,
188, 72, 35, 91, 165),
தேர்வு2_மதிப்பெண்கள் = c(217, 89, 66, 334, 99,
101, 108, 233, 45, 300),
தேர்வு3_மதிப்பெண்கள் = c(39, 101, 209, 289, 176,
120, 89, 119, 199, 96))

tidy_df

இங்கே, 'பரந்த' டேட்டாஃப்ரேம், டைடிரைப் பயன்படுத்தி 'நீண்ட' டேட்டாஃப்ரேமாக மாற்றப்படுகிறது. முதலில், மூன்று நெடுவரிசைகளுடன் “tidy_df” DataFrame ஐ உருவாக்குகிறோம். இந்த நெடுவரிசைகள் ஒவ்வொன்றும் 10 மதிப்புகளைக் கொண்டுள்ளன.

நீண்ட டேட்டாஃப்ரேம் பின்வரும் வெளியீட்டுத் திரையில் காட்டப்பட்டுள்ளது:

பின்னர், “tidy_df” DataFrame ஐ பைப் ஆபரேட்டரான “%>%” மூலம் சேகரிப்பு() செயல்பாட்டிற்கு அனுப்புவோம். tidyr இலிருந்து gather() செயல்பாடு 'tidy_df' ஐ நீண்ட டேட்டாஃப்ரேமாக மாற்ற பயன்படுகிறது. gather() செயல்பாடு 'தேர்வுகள்' பெயருடன் உள்ளீடுகளை எடுக்கும், இது மாற்றத்தில் உருவாக்கப்பட்ட மாறி பெயர்களை வைத்திருக்க ஒரு புதிய நெடுவரிசையைக் குறிக்கிறது. “மதிப்பீடுகள்” என்பது “தேர்வு1_மதிப்பெண்கள்” மற்றும் “தேர்வு2_மார்க்குகள்” ஆகியவற்றை ஒன்றாகச் சேகரிக்கும் நெடுவரிசையைக் குறிப்பிடுகிறது.

நீண்ட <- tidy_df %>%

சேகரிக்கவும் (தேர்வுகள், மதிப்பெண்கள்,
தேர்வு1_மதிப்பெண்கள்:தேர்வு2_மதிப்பெண்கள்)


நீளமானது

வெளியீடு கன்சோலுக்கு நீண்ட டேட்டாஃப்ரேமைக் காட்டுகிறது, அது இப்போது மூன்று நெடுவரிசைகளுடன் 'நீண்ட' வடிவமைப்பைக் கொண்டுள்ளது:

எடுத்துக்காட்டு 4: R இல் Pivot_Wider() செயல்பாட்டைப் பயன்படுத்தி DataFrame ஐ மாற்றவும்

DataFrame ஐ மாற்றுவதற்கு நாம் பயன்படுத்தும் அடுத்த மேம்பட்ட செயல்பாடு pivot_wider() செயல்பாடு ஆகும். pivot_wider() என்பது R இல் உள்ள tidyr தொகுப்பிலிருந்து ஒரு செயல்பாடு ஆகும், இது 'நீண்ட' DataFrame ஐ 'அகலமான' DataFrame ஆக மாற்ற அனுமதிக்கிறது. செயல்பாடு பின்வரும் R இன் குறியீட்டில் விவாதிக்கப்படும் மூன்று முக்கிய வாதங்களை எடுக்கும்:

நூலகம்(tidyr)

df <- data.frame(

ஐடி = c(1, 2, 3, 1, 2, 3),
var = c('v1', 'v1', 'v1', 'v2', 'v2', 'v2'),
val = c(4, 5, 6, 7, 8, 9)


)

df

இங்கே, முதலில் நூலகம்() செயல்பாட்டைப் பயன்படுத்தி tidyr தொகுப்பை ஏற்றுவோம். பின்னர், மாதிரி DataFrame ஐ 'df' இல் அமைக்கிறோம். 'df' DataFrame ஆனது அதற்கேற்ப வெவ்வேறு மதிப்புகளைக் கொண்ட மூன்று நெடுவரிசைகளைக் கொண்டுள்ளது. மாதிரி DataFrame பின்வரும் வெளியீட்டில் காணலாம்:

அதன் பிறகு, 'df' ஐ 'df_wide' ஆக மாற்ற, tidyr இலிருந்து pivot_wider() செயல்பாடு பயன்படுத்தப்படுகிறது.

df_wide <- pivot_wider(df, names_from = var, values_from = val)

df_wide

pivot_wider() செயல்பாடு இங்கே மூன்று வாதங்களை எடுக்கும். முதலில், 'df' DataFrame ஐ மாற்ற வேண்டும். பின்னர், names_from வாதமானது புதிய மாறி பெயர்களுக்குப் பயன்படுத்தப்படும் நெடுவரிசைப் பெயரை அமைக்கிறது. இறுதியாக, values_from வாதமானது புதிய மதிப்புகளுக்குப் பயன்படுத்தப்படும் நெடுவரிசைப் பெயரைக் குறிப்பிடுகிறது.

பின்வரும் வெளியீடு நீண்ட டேட்டாஃப்ரேமை பரந்த டேட்டாஃப்ரேமிற்கு மாற்றுவதைக் குறிக்கிறது:

முடிவுரை

R இல் DataFrame ஐ மாற்ற பல்வேறு வழிகளைப் பயன்படுத்தினோம். முதல் உதாரணம் t() உள்ளமைக்கப்பட்ட முறையில் அமைக்கப்பட்டுள்ளது. மற்ற எல்லா எடுத்துக்காட்டுகளுக்கும் பேக்கேஜ்களை இறக்குமதி செய்ய வேண்டும், அதனால் டேட்டாஃப்ரேம் இடமாற்றத்திற்கு அவற்றின் செயல்பாடுகளை நாம் பயன்படுத்தலாம். இருப்பினும், பயன்படுத்துவதற்கான சிறந்த முறையானது நீங்கள் பணிபுரியும் குறிப்பிட்ட சூழ்நிலை மற்றும் தரவு கட்டமைப்பைப் பொறுத்தது.