x<-1:10000
mod3<-x%%3==0
kat3<-x[mod3]
mod29<-x%%29==0
kat29<-x[mod29]
mod87<-x%%87==0
kat87<-x[mod87]
toplam<-sum(kat3)+sum(kat29)-sum(kat87)
toplam
## [1] 17818908
[1] 12 17 22 27 32 37 42 47 52 57 62 67 72 77 82
[16] 87 92 97 102 107
dizi<-seq(12,107,by=5)
sum(dizi)
## [1] 1190
length(dizi)
## [1] 20
mean(dizi)
## [1] 59.5
sub_dizi<-dizi[c(3,5,10)]
rev(dizi)[7]
## [1] 77
| TEST | DOGRU | YANLIS | BOS |
|---|---|---|---|
| Test_1 | 8 | 17 | 0 |
| Test_2 | 20 | 5 | 0 |
| Test_3 | 19 | 4 | 2 |
| Test_4 | 5 | 18 | 2 |
DOGRU<-c(8,20,19,5)
YANLIS<-c(17,5,4,18)
BOS<-c(0,0,2,2)
not<-matrix(c(DOGRU, YANLIS, BOS), ncol=3, byrow=FALSE)
not
## [,1] [,2] [,3]
## [1,] 8 17 0
## [2,] 20 5 0
## [3,] 19 4 2
## [4,] 5 18 2
rm(DOGRU); rm(YANLIS); rm(BOS)
not[2,]
## [1] 20 5 0
"düzeltme formülü: doğru yanıt sayıdan, yanlış yanıt sayısının seçenek sayısının bir eksiğine bölünerek çıkartılması ile elde edilir.
NET=Dogru−(Yanlis/(Seceneksayısı−1))
net<-matrix(not[,1]-(not[,2]/4), ncol = 1, byrow = FALSE)
not<-cbind(not,net)
not
## [,1] [,2] [,3] [,4]
## [1,] 8 17 0 3.75
## [2,] 20 5 0 18.75
## [3,] 19 4 2 18.00
## [4,] 5 18 2 0.50
not<-data.frame(not)
rownames(not)<-paste("Test",1:4,sep = "_")
colnames(not)<-c("Dogru", "Yanlis", "Bos", "Net")
not
## Dogru Yanlis Bos Net
## Test_1 8 17 0 3.75
## Test_2 20 5 0 18.75
## Test_3 19 4 2 18.00
## Test_4 5 18 2 0.50
load(paste(getwd(), "/KORKUT_KOCAKmot.Rdata",sep=""))
motivasyon<-M4
motivasyon[1:5,1:5]
## cinsiyet icsel_1 icsel_2 icsel_3 icsel_4
## [1,] 1 1 1 1 0
## [2,] 0 0 1 1 1
## [3,] 1 1 1 0 0
## [4,] 1 0 0 1 1
## [5,] 1 0 0 1 1
nrow(motivasyon)
## [1] 483
colnames(motivasyon)<-c("cinsiyet",paste("icsel",1:9,sep="_"),paste("dissal",1:6,sep = "_"))
motivasyon[1:4,c(1:4,12:13)]
## cinsiyet icsel_1 icsel_2 icsel_3 dissal_2 dissal_3
## [1,] 1 1 1 1 0 1
## [2,] 0 0 1 1 0 1
## [3,] 1 1 1 0 0 0
## [4,] 1 0 0 1 0 0
Not: Veri .Rdata uzantılı olarak kaydedilmiş olduğu için çalışma alanına yüklerken sütun isimleri mevcut şekilde yüklenmiştir. Yukarıdaki kod ile, matrisin sütun isimleri olmasa idi mevcut şekilde isimlendirilmesini sağlayacaktı.
library(dplyr)
motivasyon<-as_tibble(motivasyon)
motivasyon<-motivasyon %>% mutate(icsel=rowSums(select(., icsel_1:icsel_9)),.before=dissal_1)
motivasyon
## # A tibble: 483 x 17
## cinsiyet icsel_1 icsel_2 icsel_3 icsel_4 icsel_5 icsel_6 icsel_7 icsel_8
## <int> <int> <int> <int> <int> <int> <int> <int> <int>
## 1 1 1 1 1 0 1 1 0 1
## 2 0 0 1 1 1 1 0 0 1
## 3 1 1 1 0 0 1 1 1 1
## 4 1 0 0 1 1 0 0 1 0
## 5 1 0 0 1 1 1 0 0 1
## 6 0 1 1 1 0 1 1 0 1
## 7 0 1 0 1 1 0 1 1 0
## 8 1 1 1 1 1 1 0 1 1
## 9 0 0 1 0 0 1 1 0 0
## 10 1 1 1 0 1 1 1 1 1
## # ... with 473 more rows, and 8 more variables: icsel_9 <int>, icsel <dbl>,
## # dissal_1 <int>, dissal_2 <int>, dissal_3 <int>, dissal_4 <int>,
## # dissal_5 <int>, dissal_6 <int>
motivasyon<-motivasyon %>% mutate(dissal=rowSums(select(., dissal_1:dissal_6)), .after=dissal_6)
motivasyon
## # A tibble: 483 x 18
## cinsiyet icsel_1 icsel_2 icsel_3 icsel_4 icsel_5 icsel_6 icsel_7 icsel_8
## <int> <int> <int> <int> <int> <int> <int> <int> <int>
## 1 1 1 1 1 0 1 1 0 1
## 2 0 0 1 1 1 1 0 0 1
## 3 1 1 1 0 0 1 1 1 1
## 4 1 0 0 1 1 0 0 1 0
## 5 1 0 0 1 1 1 0 0 1
## 6 0 1 1 1 0 1 1 0 1
## 7 0 1 0 1 1 0 1 1 0
## 8 1 1 1 1 1 1 0 1 1
## 9 0 0 1 0 0 1 1 0 0
## 10 1 1 1 0 1 1 1 1 1
## # ... with 473 more rows, and 9 more variables: icsel_9 <int>, icsel <dbl>,
## # dissal_1 <int>, dissal_2 <int>, dissal_3 <int>, dissal_4 <int>,
## # dissal_5 <int>, dissal_6 <int>, dissal <dbl>
motivasyon$cinsiyet<-factor(motivasyon$cinsiyet,levels = c(0,1), labels = c("Kadin", "Erkek"))
motivasyon[1:4, 1:5]
## # A tibble: 4 x 5
## cinsiyet icsel_1 icsel_2 icsel_3 icsel_4
## <fct> <int> <int> <int> <int>
## 1 Erkek 1 1 1 0
## 2 Kadin 0 1 1 1
## 3 Erkek 1 1 0 0
## 4 Erkek 0 0 1 1
motivasyon %>% group_by(cinsiyet) %>% summarise(n=n(), ort_dissal=mean(dissal), maks.=max(dissal), min.=min(dissal), s_sapma=sd(dissal))
## # A tibble: 2 x 6
## cinsiyet n ort_dissal maks. min. s_sapma
## <fct> <int> <dbl> <dbl> <dbl> <dbl>
## 1 Kadin 244 3.09 6 0 1.23
## 2 Erkek 239 2.91 6 0 1.30
arrange(motivasyon, dissal)
## # A tibble: 483 x 18
## cinsiyet icsel_1 icsel_2 icsel_3 icsel_4 icsel_5 icsel_6 icsel_7 icsel_8
## <fct> <int> <int> <int> <int> <int> <int> <int> <int>
## 1 Kadin 0 1 1 1 1 1 1 0
## 2 Erkek 0 0 1 0 0 1 0 1
## 3 Kadin 0 0 0 0 1 1 1 0
## 4 Erkek 0 0 0 1 0 0 0 1
## 5 Erkek 0 0 0 0 0 0 1 1
## 6 Kadin 1 1 0 1 0 1 0 1
## 7 Erkek 1 1 1 0 0 1 0 0
## 8 Kadin 0 0 1 0 0 0 1 0
## 9 Kadin 0 1 1 0 1 0 1 1
## 10 Erkek 1 0 0 0 1 1 1 0
## # ... with 473 more rows, and 9 more variables: icsel_9 <int>, icsel <dbl>,
## # dissal_1 <int>, dissal_2 <int>, dissal_3 <int>, dissal_4 <int>,
## # dissal_5 <int>, dissal_6 <int>, dissal <dbl>
## $B1
## [1] "4-A" "4-B" "4-C" "4-D" "4-E"
##
## $B2
## $B2[[1]]
## [1] "B" "A" "R" "L" "E" "T" "T"
##
##
## $B3
## $B3[[1]]
## [1] "B" "RLETT"
##
##
## $B4
## c1 c2 c3 c4
## s1 200 275 350 425
## s2 215 290 365 440
## s3 230 305 380 455
## s4 245 320 395 470
## s5 260 335 410 485
b1<-paste(4, LETTERS[1:5], sep="-")
b2<-list(substring("BARLETT",1:7,1:7))
b3<-strsplit("BARLETT", "A")
b4<-matrix(seq(200,485,by=15),ncol=4,byrow=FALSE)
dimnames(b4)<-list(paste("s",1:5,sep=""), paste("c",1:4,sep=""))
L1<-list(B1=b1,B2=b2,B3=b3,B4=b4)
L1
## $B1
## [1] "4-A" "4-B" "4-C" "4-D" "4-E"
##
## $B2
## $B2[[1]]
## [1] "B" "A" "R" "L" "E" "T" "T"
##
##
## $B3
## $B3[[1]]
## [1] "B" "RLETT"
##
##
## $B4
## c1 c2 c3 c4
## s1 200 275 350 425
## s2 215 290 365 440
## s3 230 305 380 455
## s4 245 320 395 470
## s5 260 335 410 485
length(L1)
## [1] 4
L1$B4[2,2]
## [1] 290
v1<-as.vector(L1$B1)
v1
## [1] "4-A" "4-B" "4-C" "4-D" "4-E"
v1<-paste(v1, collapse=" ")
v1
## [1] "4-A 4-B 4-C 4-D 4-E"
library(readxl)
prof <- read_excel("prof.xlsx")
prof <- as_tibble(prof)
## # A tibble: 3 x 7
## ID Fakulte TURU reading listening speaking writing
## <dbl> <chr> <chr> <int> <int> <int> <int>
## 1 21549 Muhendislik Fakultesi 1 16 17 10
## 2 21445 Tıp Fakultesi 25 3 5 12
## 3 21435 Eedebiyat Fakultesi 15 20 20 22
library(data.table)
setDT(prof)[, c("reading", "listening", "speaking", "writing") := tstrsplit(puanlar, "-")] [, puanlar:=NULL][]
## ID Fakulte TURU reading listening speaking writing
## 1: 21549 Muhendislik Fakultesi 1 16 17 10
## 2: 21445 Tıp Fakultesi 25 3 5 12
## 3: 21435 Eedebiyat Fakultesi 15 20 20 22
## 4: 21346 Egitim Fakultesi 22 8 20 21
## 5: 21958 Eedebiyat Fakultesi 13 8 6 0
## ---
## 696: 21488 Muhendislik Fakultesi 20 2 23 9
## 697: 21348 Muhendislik Fakultesi 13 5 9 2
## 698: 21906 Tıp Fakultesi 18 8 10 18
## 699: 21618 Tıp Fakultesi 14 8 12 22
## 700: 21436 Eedebiyat Fakultesi 9 20 21 20
sutunlar<-c("reading","listening", "speaking", "writing")
prof[, (sutunlar) := lapply(.SD, as.integer),
.SDcols = sutunlar][]
## ID Fakulte TURU reading listening speaking writing
## 1: 21549 Muhendislik Fakultesi 1 16 17 10
## 2: 21445 Tıp Fakultesi 25 3 5 12
## 3: 21435 Eedebiyat Fakultesi 15 20 20 22
## 4: 21346 Egitim Fakultesi 22 8 20 21
## 5: 21958 Eedebiyat Fakultesi 13 8 6 0
## ---
## 696: 21488 Muhendislik Fakultesi 20 2 23 9
## 697: 21348 Muhendislik Fakultesi 13 5 9 2
## 698: 21906 Tıp Fakultesi 18 8 10 18
## 699: 21618 Tıp Fakultesi 14 8 12 22
## 700: 21436 Eedebiyat Fakultesi 9 20 21 20
## # A tibble: 3 x 7
## id fakulte turu reading listening speaking writing
## <dbl> <chr> <chr> <int> <int> <int> <int>
## 1 21549 Muhendislik Fakultesi 1 16 17 10
## 2 21445 Tıp Fakultesi 25 3 5 12
## 3 21435 Eedebiyat Fakultesi 15 20 20 22
prof<-as_tibble(prof)
prof<-prof %>% rename_with(tolower)
prof
## # A tibble: 700 x 7
## id fakulte turu reading listening speaking writing
## <dbl> <chr> <chr> <int> <int> <int> <int>
## 1 21549 Muhendislik Fakultesi 1 16 17 10
## 2 21445 Tıp Fakultesi 25 3 5 12
## 3 21435 Eedebiyat Fakultesi 15 20 20 22
## 4 21346 Egitim Fakultesi 22 8 20 21
## 5 21958 Eedebiyat Fakultesi 13 8 6 0
## 6 21273 Egitim Fakultesi 4 6 24 6
## 7 21552 Muhendislik Fakultesi 4 20 0 8
## 8 21168 Eedebiyat Fakultesi 1 15 19 16
## 9 21575 Egitim Fakultesi 7 24 23 1
## 10 21645 Tıp Fakultesi 17 8 14 22
## # ... with 690 more rows
## # A tibble: 3 x 6
## id fakulte reading listening speaking writing
## <dbl> <chr> <int> <int> <int> <int>
## 1 21549 Muhendislik_Fakultesi 1 16 17 10
## 2 21445 Tıp_Fakultesi 25 3 5 12
## 3 21435 Eedebiyat_Fakultesi 15 20 20 22
prof<-as.data.table(prof)
prof[,"fakulte":=paste(fakulte, turu, sep= "_")][,turu:=NULL][]
## id fakulte reading listening speaking writing
## 1: 21549 Muhendislik_Fakultesi 1 16 17 10
## 2: 21445 Tıp_Fakultesi 25 3 5 12
## 3: 21435 Eedebiyat_Fakultesi 15 20 20 22
## 4: 21346 Egitim_Fakultesi 22 8 20 21
## 5: 21958 Eedebiyat_Fakultesi 13 8 6 0
## ---
## 696: 21488 Muhendislik_Fakultesi 20 2 23 9
## 697: 21348 Muhendislik_Fakultesi 13 5 9 2
## 698: 21906 Tıp_Fakultesi 18 8 10 18
## 699: 21618 Tıp_Fakultesi 14 8 12 22
## 700: 21436 Eedebiyat_Fakultesi 9 20 21 20
prof[,sum(is.na(.SD)), .SDcols="reading"]
## [1] 13
prof[,sum(is.na(.SD)), .SDcols="listening"]
## [1] 23
prof[,sum(is.na(.SD)), .SDcols="speaking"]
## [1] 14
prof[,sum(is.na(.SD)), .SDcols="writing"]
## [1] 24
Kayıp veri toplamı bulunmak istenirse aşağıdaki kod kullanılabilir:
prof[,sum(is.na(.SD)), .SDcols=3:6]
## [1] 74
prof<-prof[rowSums(is.na(prof))<2,]
nrow(prof)
## [1] 697
prof[is.na(prof)]<-0
prof[,sum(is.na(.SD)), .SDcols=3:6]
## [1] 0
İkinci satırdaki kod ile kayıp veri olmadığı gösterilmiştir.
Birinci satırdaki kod küçük verilerde çalışmakta iken büyük verilerde sistem belleği yetersizliği sorunu yaratabilmektedir.
prof<-prof[,toplam:=rowSums(.SD), .SDcols=3:6][order(-toplam)][]
prof
## id fakulte reading listening speaking writing toplam
## 1: 21736 Eedebiyat_Fakultesi 25 21 23 22 91
## 2: 21975 Egitim_Fakultesi 21 24 25 21 91
## 3: 21442 Eedebiyat_Fakultesi 23 25 19 20 87
## 4: 21389 Tıp_Fakultesi 21 18 25 23 87
## 5: 21720 Tıp_Fakultesi 25 21 21 19 86
## ---
## 693: 21297 Tıp_Fakultesi 9 0 6 0 15
## 694: 21819 Eedebiyat_Fakultesi 0 14 0 0 14
## 695: 21699 Egitim_Fakultesi 8 2 0 3 13
## 696: 21768 Eedebiyat_Fakultesi 6 3 3 0 12
## 697: 21304 Muhendislik_Fakultesi 4 1 3 0 8
gecti<-prof[toplam>=65, .SD, .SDcols=c(1:2,7)]
write.csv(gecti,paste(getwd(),"/gecti.csv",sep="" ),row.names = FALSE,quote = FALSE )
Not: Eğer tüm sütunlar yazdırılmak isteniyorsa birinci satırdaki kodun i. bileşeni yeterlidir.