Bevezetés az R-be 2.0 - Feladatgyűjtemény

Műveletek

Matematikai műveletek

1. feladat. Alapműveletek.
Számoljuk ki a következő hányados értékét!

(3*(12+4)/6)/(3-12)
[1] -0.8888889

2. feladat. Exponenciális számok.
R parancs nélkül számoljuk ki a következő összeg értékét!

# 13300

3. feladat. Előjel és a zéró egészrész.
R parancs nélkül számoljuk ki a következő összeg értékét!

# 0

4. feladat. Hatványozás.
Számoljuk ki 2 hatványait 1-től 10-ig!

2**(1:10)
 [1]    2    4    8   16   32   64  128  256  512 1024

5. feladat. Matematikai függvények.
Adjuk meg legalább 10 matematikai függvény értéket az R-ben az 1,5-re!

abs(1.5)                 # abszolútérték függvény
[1] 1.5
sign(1.5)                # előjel függvény
[1] 1
sqrt(1.5)                # négyzetgyök függvény
[1] 1.224745
exp(1.5)                 # exponenciális függvény
[1] 4.481689
log(1.5)                 # természetes alapú logaritmus
[1] 0.4054651
log(1.5, base=3)         # tetszőleges alapú logaritmus
[1] 0.3690702
log10(1.5)               # 2-es alapú logaritmus
[1] 0.1760913
log2(1.5)                # 2-es alapú logaritmus
[1] 0.5849625
cos(1.5)                 # koszinusz függvény (x radiánban mért)
[1] 0.0707372
sin(1.5)                 # szinusz függvény (x radiánban mért)
[1] 0.997495
tan(1.5)                 # tangens függvény (x radiánban mért)
[1] 14.10142
round(-1.5, digits = 1)  # kerekítés adott tizedesre
[1] -1.5
floor(1.5)               # x-nél kisebb, legnagyobb egész
[1] 1
ceiling(1.5)             # x-nél nagyobb, legkisebb egész ceiling(1.5)
[1] 2
trunc(1.5)               # az x-hez legközelebbi egész x és 0 között
[1] 1

6. feladat. Halmazműveletek.
Mutassuk be a halmazműveleteket!

union(c("a", "b", "c"), c("b", "c", "d"))       # halmazok uniója
[1] "a" "b" "c" "d"
intersect(c("a", "b", "c"), c("b", "c", "d"))   # halmazok metszete
[1] "b" "c"
setdiff(c("a", "b", "c"), c("b", "c", "d"))     # halmazok különbsége
[1] "a"
setequal(c("a", "b", "c"), c("b", "c", "d"))    # halmazok egyenlősége
[1] FALSE
setequal(c("a", "b", "c"), c("b", "c", "d"))    # halmazok egyenlősége
[1] FALSE

Karakteres műveletek

7. feladat. Összefűzés.
Két karakteres objektumban adott az "Edward király" és az "angol király" karakterkonstans. Fűzzük őket egybe, hogy létrejöhessen Arany János balladájának első sora!

k.1 <-  "Edward király"
k.2 <-  "angol király"
paste(sep=", ", k.1, k.2) # az elválasztó a ", " konstans
[1] "Edward király, angol király"

8. feladat. Összefűzés.
Egy felmérés 10 kérdését szeretnénk elnevezni: "kerdes.1", "kerdes.2", ... , "kerdes.10". Végezzük el az elnevezést R-ben!

paste(sep=".", "kerdes", 1:10)
 [1] "kerdes.1"  "kerdes.2"  "kerdes.3"  "kerdes.4"  "kerdes.5"  "kerdes.6"  "kerdes.7"  "kerdes.8" 
 [9] "kerdes.9"  "kerdes.10"

9. feladat. Összefűzés.
Egy karakteres vektor két eleme az "Edward király" és az "angol király" karakterkonstansokat tartalmazza. Fűzzük őket egybe, hogy létrejöhessen Arany János balladájának első sora!

kv <-  c("Edward király", "angol király")
paste(kv, collapse = ", ") # az elválasztó a ", " konstans
[1] "Edward király, angol király"

10. feladat. Kis- és nagybetű.
Egy karakteres vektor segítségével vizsgáljuk meg az R kis- és nagybetű átalakító függvényeit!

sor <- c("Edward király", "angol király")
tolower(sor)                 # kisbetűssé alakít
[1] "edward király" "angol király"
toupper(sor)                 # nagybetűssé alakít
[1] "EDWARD KIRÁLY" "ANGOL KIRÁLY"
library(Hmisc)
Hmisc::capitalize(sor)       # kapitálissá alakít
[1] "Edward király" "Angol király"

11. feladat. Szövegrészlet.
Mutassunk példát szövegrészlet kiválasztására!

sor <- c("Edward király", "angol király")
substring(text = sor, first = 3)
[1] "ward király" "gol király"
substring(text = sor, first = 3, last = 5)
[1] "war" "gol"
substr(x = sor, start = 3, stop = 5)
[1] "war" "gol"

12. feladat. Üres helyek eltávolítása.
Mutassunk példát a környező üres helyek eltávolítására!

library(stringr)
sor <- c("\tEdward király, ", " angol király")
str_trim(sor)
[1] "Edward király," "angol király"

13. feladat. Kitöltő karakterek használata.
Mutassunk példát kitöltő karakter használatára!

sprintf(fmt = "%04d", -3:11)      # numerikus vektorra, 0 helykitöltő balra
 [1] "-003" "-002" "-001" "0000" "0001" "0002" "0003" "0004" "0005" "0006" "0007" "0008" "0009"
[14] "0010" "0011"
sprintf(fmt = "%4s", -3:11)       # numerikus vektorra, szóköz helykitöltő balra
 [1] "  -3" "  -2" "  -1" "   0" "   1" "   2" "   3" "   4" "   5" "   6" "   7" "   8" "   9"
[14] "  10" "  11"
sprintf(fmt = "%4s", c("a", "b")) # karakteres vektorra, szóköz helykitöltő balra
[1] "   a" "   b"
# karakteres v. numerikus konstansra, tetszőleges helykitöltő karakter, tetszőleges pozícióba
library(cwhmisc)
padding(str = "abc", space = 10, with = "123", to = "left")
[1] "abc1231231"
padding(str = "abc", space = 10, with = "123", to = "right")
[1] "1231231abc"
padding(str = "abc", space = 10, with = "123", to = "center")
[1] "123abc1231"
# vektorra az sapply() segítségével
sapply(-3:11, padding, space = 10, with = "abcde", to = "center")
 [1] "abcd-3eabc" "abcd-2eabc" "abcd-1eabc" "abcd0eabcd" "abcd1eabcd" "abcd2eabcd" "abcd3eabcd"
 [8] "abcd4eabcd" "abcd5eabcd" "abcd6eabcd" "abcd7eabcd" "abcd8eabcd" "abcd9eabcd" "abcd10eabc"
[15] "abcd11eabc"
# karakteres v. numerikus vektorra, tetszőleges helykitöltő karakter, tetszőleges pozícióba
library(stringr)
str_pad(string = -3:10, width = 5, side = "left", pad = "x")
 [1] "xxx-3" "xxx-2" "xxx-1" "xxxx0" "xxxx1" "xxxx2" "xxxx3" "xxxx4" "xxxx5" "xxxx6" "xxxx7" "xxxx8"
[13] "xxxx9" "xxx10"
str_pad(string = -3:10, width = 5, side = "right", pad = "x")
 [1] "-3xxx" "-2xxx" "-1xxx" "0xxxx" "1xxxx" "2xxxx" "3xxxx" "4xxxx" "5xxxx" "6xxxx" "7xxxx" "8xxxx"
[13] "9xxxx" "10xxx"
str_pad(string = -3:10, width = 5, side = "both", pad = "x")
 [1] "x-3xx" "x-2xx" "x-1xx" "xx0xx" "xx1xx" "xx2xx" "xx3xx" "xx4xx" "xx5xx" "xx6xx" "xx7xx" "xx8xx"
[13] "xx9xx" "x10xx"

14. feladat. Karaktercsere.
Mutassunk példát karaktercserére!

# karaktercsere: i -> á, t -> l
chartr(old="it", new="ál", x="titik")
[1] "lálák"

15. feladat. Sztringcsere.
Mutassunk példát sztringcserére!

# csak 1 csere
sub(pattern = "király" , replacement = "császár" , x = "Edward király, angol király")
[1] "Edward császár, angol király"
# minden előfordulás cserélése
gsub(pattern = "király" , replacement = "császár" , x = "Edward király, angol király")
[1] "Edward császár, angol császár"

16. feladat. Keresés.
Mutassunk példát keresésre!

grep(pattern = "király" , x = c("Edward király", "angol király"))
[1] 1 2
grep(pattern = "angol" , x = c("Edward király", "angol király"))
[1] 2

17. feladat. Vágás.
Mutassunk példát vágásra!

strsplit(x = c("Edward király", "angol király"), split = " ")
[[1]]
[1] "Edward" "király"

[[2]]
[1] "angol"  "király"

18. feladat. Szövegkezelés.
A http://esca.atomki.hu/~cserny/vers/arany/bardok.txt szöveges állományból olvassuk be Arany János: A walesi bárdok c. balladáját. Írassuk ki a 10 leggyakoribb szót a versből!

A vers beolvasása

text <- readLines("http://esca.atomki.hu/~cserny/vers/arany/bardok.txt")
text
  [1] ""                                                                   
  [2] ""                                                                   
  [3] ""                                                                   
  [4] ""                                                                   
  [5] "                           Arany János"                             
  [6] ""                                                                   
  [7] "\t\t\t A walesi bárdok "                                               
  [8] ""                                                                   
  [9] ""                                                                   
 [10] "Edward király, angol király"                                        
 [11] " Léptet fakó lován:"                                                
 [12] "Hadd látom, úgymond, mennyit ér"                                    
 [13] " A velszi tartomány."                                               
 [14] ""                                                                   
 [15] ""                                                                   
 [16] "Van-e ott folyó és földje jó?"                                      
 [17] " Legelőin fű kövér?"                                                
 [18] "Használt-e a megöntözés:"                                           
 [19] " A pártos honfivér?"                                                
 [20] ""                                                                   
 [21] ""                                                                   
 [22] "S a nép, az istenadta nép,"                                         
 [23] " Ha oly boldog-e rajt'"                                             
 [24] "Mint akarom, s mint a barom,"                                       
 [25] " Melyet igába hajt?"                                                
 [26] ""                                                                   
 [27] ""                                                                   
 [28] "Felség! valóban koronád"                                            
 [29] " Legszebb gyémántja Velsz:"                                         
 [30] "Földet, folyót, legelni jót,"                                       
 [31] " Hegy-völgyet benne lelsz."                                         
 [32] ""                                                                   
 [33] ""                                                                   
 [34] "S a nép, az istenadta nép"                                          
 [35] " Oly boldog rajta, Sire!"                                           
 [36] "Kunyhói mind hallgatva, mint"                                       
 [37] " Megannyi puszta sir."                                              
 [38] ""                                                                   
 [39] ""                                                                   
 [40] "Edward király, angol király"                                        
 [41] " Léptet fakó lován:"                                                
 [42] "Körötte csend amerre ment,"                                         
 [43] " És néma tartomány."                                                
 [44] ""                                                                   
 [45] ""                                                                   
 [46] "Montgomery a vár neve,"                                             
 [47] " Hol aznap este szállt;"                                            
 [48] "Montgomery, a vár ura,"                                             
 [49] " Vendégli a királyt."                                               
 [50] ""                                                                   
 [51] ""                                                                   
 [52] "Vadat és halat, s mi jó falat"                                      
 [53] " Szem-szájnak ingere,"                                              
 [54] "Sürgő csoport, száz szolga hord,"                                   
 [55] " Hogy nézni is tereh;"                                              
 [56] ""                                                                   
 [57] ""                                                                   
 [58] "S mind, amiket e szép sziget"                                       
 [59] " Ételt-italt terem;"                                                
 [60] "S mind, ami bor pezsegve forr"                                      
 [61] " Túl messzi tengeren."                                              
 [62] ""                                                                   
 [63] ""                                                                   
 [64] "Ti urak, ti urak! hát senki sem"                                    
 [65] " Koccint értem pohárt?"                                             
 [66] "Ti urak, ti urak!... ti velsz ebek!"                                
 [67] " Ne éljen Eduárd?"                                                  
 [68] ""                                                                   
 [69] ""                                                                   
 [70] "Vadat és halat, s mi az ég alatt"                                   
 [71] " Szem-szájnak kellemes,"                                            
 [72] "Azt látom én: de ördög itt"                                         
 [73] " Belül minden nemes."                                               
 [74] ""                                                                   
 [75] ""                                                                   
 [76] "Ti urak, ti urak, hitvány ebek!"                                    
 [77] " Ne éljen Eduárd?"                                                  
 [78] "Hol van, ki zengje tetteim -"                                       
 [79] " Elő egy velszi bárd!"                                              
 [80] ""                                                                   
 [81] ""                                                                   
 [82] "Egymásra néz a sok vitéz,"                                          
 [83] " A vendég velsz urak;"                                              
 [84] "Orcáikon, mint félelem,"                                            
 [85] " Sápadt el a harag."                                                
 [86] ""                                                                   
 [87] ""                                                                   
 [88] "Szó bennszakad, hang fennakad,"                                     
 [89] " Lehellet megszegik. -"                                             
 [90] "Ajtó megől fehér galamb,"                                           
 [91] " Ősz bárd emelkedik."                                               
 [92] ""                                                                   
 [93] ""                                                                   
 [94] "Itt van, király, ki tetteidet"                                      
 [95] " Elzengi, mond az agg;"                                             
 [96] "S fegyver csörög, haló hörög"                                       
 [97] " Amint húrjába csap. "                                              
 [98] ""                                                                   
 [99] ""                                                                   
[100] "\"Fegyver csörög, haló hörög,"                                      
[101] "  A nap vértóba száll,"                                             
[102] "Vérszagra gyűl az éji vad:"                                         
[103] " Te tetted ezt, király!"                                            
[104] ""                                                                   
[105] ""                                                                   
[106] "Levágva népünk ezrei,"                                              
[107] " Halomba, mint kereszt,"                                            
[108] "Hogy sírva tallóz aki él:"                                          
[109] " Király, te tetted ezt!\""                                          
[110] ""                                                                   
[111] ""                                                                   
[112] "Máglyára! el! igen kemény -"                                        
[113] " Parancsol Eduárd -"                                                
[114] "Ha! lágyabb ének kell nekünk;"                                      
[115] " S belép egy ifju bárd."                                            
[116] ""                                                                   
[117] ""                                                                   
[118] "\"Ah! lágyan kél az esti szél"                                      
[119] " Milford-öböl felé;"                                                
[120] "Szüzek siralma, özvegyek"                                           
[121] " Panasza nyög belé."                                                
[122] ""                                                                   
[123] ""                                                                   
[124] "Ne szülj rabot, te szűz! anya"                                      
[125] " Ne szoptass csecsemőt!...\""                                       
[126] "S int a király. S elérte még"                                       
[127] " A máglyára menőt."                                                 
[128] ""                                                                   
[129] ""                                                                   
[130] "De vakmerően s hivatlanúl"                                          
[131] " Előáll harmadik;"                                                  
[132] "Kobzán a dal magára vall,"                                          
[133] " Ez ige hallatik:"                                                  
[134] ""                                                                   
[135] ""                                                                   
[136] "\"Elhullt csatában a derék -"                                       
[137] " No halld meg, Eduárd:"                                             
[138] "Neved ki diccsel ejtené,"                                           
[139] " Nem él oly velszi bárd."                                           
[140] ""                                                                   
[141] ""                                                                   
[142] "Emléke sír a lanton még -"                                          
[143] " No halld meg, Eduárd:"                                             
[144] "Átok fejedre minden dal,"                                           
[145] " Melyet zeng velszi bárd.\""                                        
[146] ""                                                                   
[147] ""                                                                   
[148] "Meglátom én! - S parancsot ád "                                     
[149] " Király rettenetest:"                                               
[150] "Máglyára, ki ellenszegűl,"                                          
[151] " Minden velsz énekest!"                                             
[152] ""                                                                   
[153] ""                                                                   
[154] "Szolgái szétszáguldanak,"                                           
[155] " Ország-szerin, tova."                                              
[156] "Montgomeryben így esett"                                            
[157] " A híres lakoma. -"                                                 
[158] ""                                                                   
[159] ""                                                                   
[160] "S Edward király, angol király"                                      
[161] " Vágtat fakó lován;"                                                
[162] "Körötte ég földszint az ég:"                                        
[163] " A velszi tartomány."                                               
[164] ""                                                                   
[165] ""                                                                   
[166] "Ötszáz, bizony, dalolva ment"                                       
[167] " Lángsírba velszi bárd:"                                            
[168] "De egy se birta mondani"                                            
[169] " Hogy: éljen Eduárd. -"                                             
[170] ""                                                                   
[171] ""                                                                   
[172] "Ha, ha! mi zúg?.... mi éji dal"                                     
[173] " London utcáin ez?"                                                 
[174] "Felköttetem a lord-majort,"                                         
[175] " Ha bosszant bármi nesz!"                                           
[176] ""                                                                   
[177] ""                                                                   
[178] "Áll néma csend; légy szárnya bent,"                                 
[179] " Se künn, nem hallatik:"                                            
[180] "\"Fejére szól, ki szót emel!"                                       
[181] " Király nem alhatik.\""                                             
[182] ""                                                                   
[183] ""                                                                   
[184] "Ha, ha! elő síp, dob, zene!"                                        
[185] " Harsogjon harsona:"                                                
[186] "Fülembe zúgja átkait"                                               
[187] " A velszi lakoma..."                                                
[188] ""                                                                   
[189] ""                                                                   
[190] "De túl zenén, túl síp-dobon,"                                       
[191] " Riadó kürtön át:"                                                  
[192] "Ötszáz énekli hangosan"                                             
[193] " A vértanúk dalát. (*)"                                             
[194] ""                                                                   
[195] ""                                                                   
[196] "(*) A történelem kétségbe vonja, de a mondában erősen tartja magát,"
[197] "    hogy I. Eduárd angol király, Wales tartomány meghódítása (1277)"
[198] "    után, ötszáz walesi bárdot végeztetett ki, hogy nemzetök dicső" 
[199] "    múltját zöngve, a fiakat föl ne gerjeszthessék az angol járom"  
[200] "    lerázására. A.J. "                                              
[201] ""                                                                   
[202] "      "

Összefűzés egyetlen karakterkonstansba

text <- text[10:193]     # eltávolítjuk az első és utolsó néhány sort

library(stringr)
text <- str_trim(text)   # szóközök törlése a sorok elejéről és végéről

# a központozás eltávolítása
text <- gsub(pattern = "[\\.():,!?*;\\\"]", replacement = "", x = text)
text <- gsub(pattern = " -", replacement = " ", x = text)
text <- gsub(pattern = "- ", replacement = " ", x = text)


text <- str_trim(text)                      # szóközök törlése a sorok elejéről és végéről
text <- text[grep(pattern = ".", x = text)] # üres sorok törlése
text <- paste(text, collapse = " ")         # egyetlen karakterkonstansba fűzzük
text
[1] "Edward király angol király Léptet fakó lován Hadd látom úgymond mennyit ér A velszi tartomány Van-e ott folyó és földje jó Legelőin fű kövér Használt-e a megöntözés A pártos honfivér S a nép az istenadta nép Ha oly boldog-e rajt' Mint akarom s mint a barom Melyet igába hajt Felség valóban koronád Legszebb gyémántja Velsz Földet folyót legelni jót Hegy-völgyet benne lelsz S a nép az istenadta nép Oly boldog rajta Sire Kunyhói mind hallgatva mint Megannyi puszta sir Edward király angol király Léptet fakó lován Körötte csend amerre ment És néma tartomány Montgomery a vár neve Hol aznap este szállt Montgomery a vár ura Vendégli a királyt Vadat és halat s mi jó falat Szem-szájnak ingere Sürgő csoport száz szolga hord Hogy nézni is tereh S mind amiket e szép sziget Ételt-italt terem S mind ami bor pezsegve forr Túl messzi tengeren Ti urak ti urak hát senki sem Koccint értem pohárt Ti urak ti urak ti velsz ebek Ne éljen Eduárd Vadat és halat s mi az ég alatt Szem-szájnak kellemes Azt látom én de ördög itt Belül minden nemes Ti urak ti urak hitvány ebek Ne éljen Eduárd Hol van ki zengje tetteim Elő egy velszi bárd Egymásra néz a sok vitéz A vendég velsz urak Orcáikon mint félelem Sápadt el a harag Szó bennszakad hang fennakad Lehellet megszegik Ajtó megől fehér galamb Ősz bárd emelkedik Itt van király ki tetteidet Elzengi mond az agg S fegyver csörög haló hörög Amint húrjába csap Fegyver csörög haló hörög A nap vértóba száll Vérszagra gyűl az éji vad Te tetted ezt király Levágva népünk ezrei Halomba mint kereszt Hogy sírva tallóz aki él Király te tetted ezt Máglyára el igen kemény Parancsol Eduárd Ha lágyabb ének kell nekünk S belép egy ifju bárd Ah lágyan kél az esti szél Milford-öböl felé Szüzek siralma özvegyek Panasza nyög belé Ne szülj rabot te szűz anya Ne szoptass csecsemőt S int a király S elérte még A máglyára menőt De vakmerően s hivatlanúl Előáll harmadik Kobzán a dal magára vall Ez ige hallatik Elhullt csatában a derék No halld meg Eduárd Neved ki diccsel ejtené Nem él oly velszi bárd Emléke sír a lanton még No halld meg Eduárd Átok fejedre minden dal Melyet zeng velszi bárd Meglátom én  S parancsot ád Király rettenetest Máglyára ki ellenszegűl Minden velsz énekest Szolgái szétszáguldanak Ország-szerin tova Montgomeryben így esett A híres lakoma S Edward király angol király Vágtat fakó lován Körötte ég földszint az ég A velszi tartomány Ötszáz bizony dalolva ment Lángsírba velszi bárd De egy se birta mondani Hogy éljen Eduárd Ha ha mi zúg mi éji dal London utcáin ez Felköttetem a lord-majort Ha bosszant bármi nesz Áll néma csend légy szárnya bent Se künn nem hallatik Fejére szól ki szót emel Király nem alhatik Ha ha elő síp dob zene Harsogjon harsona Fülembe zúgja átkait A velszi lakoma De túl zenén túl síp-dobon Riadó kürtön át Ötszáz énekli hangosan A vértanúk dalát"

Gyakorisági táblázat a szavakra

text <- tolower(text)                           # minden kisbetűs
szavak <- strsplit(x = text, split = " ")[[1]]  # szóközök mentén szétválasztjuk
sort(table(szavak), decreasing = T)[1:10]       # a kapott szavakra gyakorisági táblázat
szavak
     a      s király     az     ha     ti   urak velszi   bárd eduárd 
    23     14     12      7      7      7      7      7      6      6

Logikai műveletek

19. feladat. Logikai összekötők.
Mutassuk be példában a következő logikai összekötők közötti különbségét: &, &&, |, || és !!

T && F              # logikai ÉS
[1] FALSE
T & F               # vektor alapú logikai ÉS
[1] FALSE
c(T, F) && c(T, F)  # logikai ÉS
[1] TRUE
c(T, F) & c(T, F)   # vektor alapú logikai ÉS
[1]  TRUE FALSE
T || F              # logikai VAGY
[1] TRUE
T | F               # vektor alapú logikai VAGY
[1] TRUE
c(T, F) || c(T, F)  # logikai VAGY
[1] TRUE
c(T, F) | c(T, F)   # vektor alapú logikai VAGY
[1]  TRUE FALSE
!F                  # logikai NEM
[1] TRUE
!c(T, F)            # logikai NEM
[1] FALSE  TRUE

20. feladat. Logikai összekötők.
Mutassuk be példában a következő logikai műveletek közötti különbségét: <, <=, >, >== ==, != és %in%!

3 < c(1,5)        # kisebb operátor
[1] FALSE  TRUE
3 <= c(1,5)       # kisebb egyenlő operátor
[1] FALSE  TRUE
3 > c(1,5)        # nagyobb operátor
[1]  TRUE FALSE
3 >= c(1,5)       # nagyobb egyenlő operátor
[1]  TRUE FALSE
3 == c(1,5)       # egyenlő operátor
[1] FALSE FALSE
3 != c(1,5)       # nem egyenlő operátor
[1] TRUE TRUE
3 %in% c(1,5)     # tartalmaz operátor
[1] FALSE
c(1,5) %in% 3     # tartalmaz operátor
[1] FALSE FALSE
c(3, 4, NA, 6) == 4    # egyenlőségvizsgálat
[1] FALSE  TRUE    NA FALSE
c(3, 4, NA, 6) %in% 4  # jobb egyenlőségvizsgálat, uyganis nincs NA az outputban
[1] FALSE  TRUE FALSE FALSE