R notlar

2 saatlik kurs youtube freeCodeCamp.org ama ilk 1 saat full grafik vs sıkıldım, çok eğlenceli değil, belki ilk grafiklerden sonra direk data formats (1:06:14) e geçilebilir

packages R , https://www.crantastic.org/ ,github

install.packages("pacman")   yükledikten sonra 
require(pacman) bu da 
library(pacman) bu da olur

##her zman yüklediği paketlermiş

pacman::p_load(pacman,dplyr,GGally,ggplot2,ggthemes,ggvis,httr,lubridate,plotly,rio,rmarkdown,shiny,stringr,tidyr)

?plot   # ? help penceresini açıyor neyi öğrenmek istersen
#pencereni küçültmüşsündür, büyült düzelir
figure margins too large
#data çağır
MyData <- read.csv(file="C:\\Intel\\EFA.csv", header=TRUE, sep=",") 

MyData <- read.csv(file="C:/Intel/EFA.csv", header=TRUE, sep=",")
#scirpt te yazdığını işle (consel da yazmış gibi ol)
ctrl+enter
#consel sil
ctrl+L
#İKİ TÜR package varmış biri base de olup load edilmeyen 
                             diğeri sonradan üretilen 
yani sonradan üretilenleri internetten yükleyecen ve load , base olanları da load etmen yeterli (zaman geçince son cümleyi ekledim, tam hatırlamdan)
plot(iris$Species) # kategorik
plot(iris$Petal.Length)  #sayılan
plot(iris$Species,iris$Petal.Width) #kategorik X kantitatif(sayılan)
plot(iris$Petal.Length,iris$Petal.Width) #kantitatif X kantitatif
plot(iris$Petal.Length,iris$Petal.Width,
     col = "#cc0000", #renk Hex kod
     lwd = 15 #eğri ya da noktaların kalınlığı ayarlıyorsun
     cex = 1.5 #   %150 büyüt size ı
     pch = 13, #noktaların nasıl olacağını seçiyorsun
     main = "Iris:Petal Length VS. Petal Width",  #başlık
     xlab = "Petal Length",  #x başlığı
     ylab = "Petal Width") #y başlığı
plot(cos,0,2*pi)    #kosinüs 0 dan 2*pi ye kadar
plot(exp,1,5)       #exponential eğri 1 den 5 e kadar
plot(dnorm,-3,+3)   #normal dağılım -3 ten 3 e kadar

cylinders<-table(mtcars$cyl)  #table ile excel sayfası gibi yapıryuz data yı

barplot(cylinders)  #daha kalın plot
plot(cylinders)     #klasik plot
hist(iris$Petal.Width[iris$Species=="setosa"],
     xlim = c(0,3),
     breaks=9,
     main="Petal Width for Setosa",
     xlab="",
     col="red")                           bu kısmı anlamadım

ayrıca histogram a normal dağılım vs eklenebiliyor,çalışmadı ama dursun şurada
****OLDU! hist kısmını ayrıntılı yapıp 
freq=FALSE yazman yeterli böylece axis show density not freq

daha önce direk x eksenine yapışıyordu demekki sol taraf(y ekseni) fazla büyük geliyordu

      curve(dnorm(x,mean=mean(lynx),sd=sd(lynx)),
      col="thistle4",
      lwd=2,
      add=TRUE)

hist(mtcars$mpg[mtcars$mpg<18]) #bu şekilde 18 den küçükleri hsitograma katar

hist(iris$Petal.Length[iris$Species=="virginica" & iris$Petal.Length<5.5]) #yukarıdan farklı olarak virginica olanlardan 5.5 den küçükleri alır 

xx<-mtcars[mtcars$mpg<19,] #xx değişkeni mtcars içerisnde mpg si 19 dan küçük olan değişkenlerden oluşmuş

ee<-iris[iris$Species=="setosa",] #ee değişkeni iris içerisinde species i setosa olanlardan oluşmuş
summary(iris$Species)  #kategorik değişkende sayısal dağılmı veriyor
summary(iris$Sepal.Length) #kantitatif değşknd descrptve istatistik
describe(iris$Sepal.Length) #daha ayrıntılı desrptive istatistik
data types
numeric(integer,single,&double)
chracter,logical(boolean),complex,&raw

data structures
vector
matrix,array
data frame
list

nn<-11  #nn=11 değişkenini oluşturduk ve bunun türü double
cc<-"m" #chracter
cc4<-"bu bir text" #character
typeof(nn) #türünü öğren
L3<-TRUE  #logical
L4<-F   #logical
V1<-c(1,2,3,4,5) #vektör  ,concatenate nin c si yani birleştiriyor
v99<-c("a","b","c") #vektör
V7<-c(TRUE,FALSE,TRUE)

is.vector(V1) #V1 vektör mü diye soru soruyor
m1<-matrix(c(T,F,F,T,T,T,F,F,F,T),nrow =5 ) #matrix ,5 dedik ya 5 satır yapacak ilk 5 eleman baştan sona sonraki 5 eleman da diğer sütuna,2 deseydik ilk 2 leman 1. satır ve 2. satır sonraki sütunda 1. ve 2.satır 3. ve 4. eleman 
m2<-matrix(c("a","b","c","d","e","f","r","k"),nrow=2,byrow = F)
m2
     [,1] [,2] [,3] [,4]
[1,] "a"  "c"  "e"  "r" 
[2,] "b"  "d"  "f"  "k" 

m2<-matrix(c("a","b","c","d","e","f","r","k"),nrow=2,byrow = T)
m2
     [,1] [,2] [,3] [,4]
[1,] "a"  "b"  "c"  "d" 
[2,] "e"  "f"  "r"  "k" 

m2<-matrix(c("a","b","c","d","e","f","r","k"),nrow=2)
m2
     [,1] [,2] [,3] [,4]
[1,] "a"  "c"  "e"  "r" 
[2,] "b"  "d"  "f"  "k" 

SONUÇ OLARAK byrow=T dediğinde diziliş değişti, byrow=F ile hiç byrow eklenmemiş hali eşit
a1<-array(c(1:24),c(2,6,3)) #dizi , 2 satır 6 sütun 3 boyut olsun demişiz , 1 den 24 e kadar sayılar yetmeyince başa dönüyor 
a1
, , 1

     [,1] [,2] [,3] [,4] [,5] [,6]
[1,]    1    3    5    7    9   11
[2,]    2    4    6    8   10   12

, , 2

     [,1] [,2] [,3] [,4] [,5] [,6]
[1,]   13   15   17   19   21   23
[2,]   14   16   18   20   22   24

, , 3

     [,1] [,2] [,3] [,4] [,5] [,6]
[1,]    1    3    5    7    9   11
[2,]    2    4    6    8   10   12
dfa<-cbind(V1,VV,v99) #dataframe , cbind 3 farklı vektrü birleştrdi, one data type
dfa
     V1      VV  v99
[1,] "TRUE"  "1" "a"
[2,] "FALSE" "2" "b"
[3,] "TRUE"  "3" "c"

dfa<-as.data.frame(cbind(V1,VV,v99)) #yukarıdakinden farklı olarak "" gitti, her vektörün türü aynı kaldı
dfa
     V1 VV v99
1  TRUE  1   a
2 FALSE  2   b
3  TRUE  3   c
list1<-list(o1,o2,o3) #diğertürlere göre daha uzunşekilde listeliyor
list1
[[1]]
[1] 1 2 3

[[2]]
[1] "a" "b" "c" "d"

[[3]]
[1]  TRUE FALSE  TRUE  TRUE FALSE

list2<-list(o1,o2,o3,list1) # bu şekilde liste içine liste de konabiliyor
(qq<-c(2,"a","3","w")) #anldgm kadaryla en az 1 karakter varsa türü chracter oluyor
typeof(qq) 
"character"

ww<-5  #bunun türü de double
"double"

rr<-as.integer(ww)  ya da rr<-as.integer(5) yaptığımızda coerce yaparak yani zorlayarak türünü integer yaptı
typeof(rr)
"integer"

dd<-c("1","2","3")
typeof(dd)
"character"

fg<-as.numeric(dd)
fg
1 2 3
typeof(fg)
"double"
#karakterden sayıya çevir
yyz$b <- as.numeric(as.character(yyz$b))     character to numeric
zx<-matrix(1:8,nrow=4)
zx
     [,1] [,2]
[1,]    1    5
[2,]    2    6
[3,]    3    7
[4,]    4    8

az<-as.data.frame(zx)  #böylece matrisi data frame ye çevirdi
az
  V1 V2
  1  5
  2  6
  3  7
  4  8
(x1<-1:3)  #dikkat parantez kullandık , () kullanınca hem kodu yazıyor hem çıktıyı veriyor  ********ÖNEMLİ
[1] 1 2 3
(y<-1:9)
[1] 1 2 3 4 5 6 7 8 9
(df1<-cbind.data.frame(x1,y)) #birleştirdi, x1 in değişkenleri yetmese de başa sardı tamamladı
  x1 y
1  1 1
2  2 2
3  3 3
4  1 4
5  2 5
6  3 6
7  1 7
8  2 8
9  3 9

 str(df1)     #structure ın kısaltması,yapıyı verdi
'data.frame':	9 obs. of  2 variables:
 $ x1: int  1 2 3 1 2 3 1 2 3
 $ y : int  1 2 3 4 5 6 7 8 9
https://www.youtube.com/watch?v=xkRBfy8_2MU

şu sayfa ve yukarıdaki resimleri aldığım videoya bakılabilir

> hhtrtr<-1:10
> hhtrtr
 [1]  1  2  3  4  5  6  7  8  9 10
> seq(10)
 [1]  1  2  3  4  5  6  7  8  9 10
> hh<-seq(33,0,by=-5) #30 ilk sayı, 0 son sayı, by= miktar(+ veya -)
> hh
[1] 33 28 23 18 13  8  3
r2<-scan() #r2 ye sayıları gösteriyoruz en son karşılık vermeyince ve tekrar r2 dersek gösterdiklerimizi yazıyor
1:


d2<-rep("SED",7) #"SED" i 7 defa tekrar ettirdik

we<-rep(c("de","re",11),3) #c ile birleştirmezsen fazladan yazamıyorsun
we
[1] "de" "re" "11" "de" "re" "11" "de" "re" "11"

we<-rep(c("de","re",11),each=3) #each dediğinde aşağıda görüldüğü gibi
we
[1] "de" "de" "de" "re" "re" "re" "11" "11" "11"

CSV >>comma separated values

XLSX veya XLS >>excel spread sheet

JSON>> Javascript Object Notation

dosyam1<-import("C:/Users/test/Desktop/mbb1.xlsx") #bu ALDI AMA
dosyam2<-import("~/Desktop/mbb1.xlsx") #bu NEDEN ÇALIŞMADI ANLAMDIM

qww<-read.table("C:/Users/test/Desktop/mbb.txt"
                header = TRUE,
                sep= "\t" )  #missing data da sep i ekliyormuşuz txt için csv de eklemiyoruz zaten anlamı comma separated diyor sadece 

qww<-read.table("C:/Users/test/Desktop/mbb.csv"
                header = TRUE) #şeklinde yeter diyor

TAM ANLAMADIM
der<-mtcars[,c(1:4,6:7,9:11)] #virgül öncsi boşluk satırların hepsini al manasında anladığım kadarıyla,sonra da sütunları seçyor
der

kk1<-der %>%
dist %>%    #distance
hclust     #yukarıda oluşturduğumuz der değişkenini kümelettik

plot(kk1)  #hiyerarşik yazdırdık


rect.hclust(kk1,k=2,border = "purple") #renklendirdi
rect.hclust(kk1,k=3,border="blue")
ss1<-prcomp(ced,              #principal compponent hesaplıyor
          center=TRUE,
          scale=TRUE)
summary(ss1)           #yukarıdakilerin sonucu

rex<-prcomp(~mpg+cyl+disp+hp+wt+qsec+am+gear+carb,
            data=mtcars,   
            center=TRUE,
            scale=TRUE)   #böyle tek tek seçmek de mümkün ama data= denmiş dikkat et

plot(ss1) #plot yazdır
predict(ss1)%>%round(2) # %>% okunabilirliği arttırmak için kullanılıyrmuş genelde
predict(ss1)   #ilk kod da yuvarlama var başka farkları yok

biplot(ss1)  #çok boyutlu plot yazdı

TAM ANLAMADIM
z1<-as.matrix(datam[-12])  #12.sütun hariç z1 objesini oluşturduk,bağımsız değişkenler,verimiz USJudgeRatings (R da olan)
t1<-datam[,12]              #12.sütunu t1 a verdik bağımlı değişken
w11<-lm(t1~z1)     #lm linear model

veya
w12<-lm(RTEN~CONT+INTG+DMNR+DILG+CFMG+DECI+PREP+FAMI+ORAL+WRIT+PHYS,
        data=USJudgeRatings) #bu şekilde de yapabilrsin

w12 dediğinde sonuçları yazdırır
summary(w12) dediğinde  eviews çıktısı gibi daha ayrıntılı veriyor

anova(w12)    #Analysis of Variance Table
coef(w12)      #yukarıdaki katsayılar
confint(w12)    #güven aralıkları
resid(w12)        
hist(residuals(w12))

şurada csv read hahkında ,csv dosyasını aktarmak için

session>set working directory

—-

Error in svd(x, nu = 0, nv = k) : infinite or missing values in ‘x’ hatası geldi pca yaparken,ben eksik veri olmadığını düşünüyordum elle daha doğrsu şöyle 2984 satırlık şeyi maalesef hızlıca kontrol ettğimde bulamamıştım,farklı sebepten kaynaklandığını düşünüyordum.Neyse sonunda gerçekten eksik verim varmış buldum 4 tane hücreyi ama kulağına küpe olsun bbir daha ki sefere excelden hala göç etmediysen ctrl+shift ile her sütundan aşağı inmeyi denersen boş hücreleri görmüş olursun orada takılır kalırsın


R commander da kod bilmeden R ı kullanmaya yarıyor gördüğüm kadarıyla

install.packages ile yükledikten sonra library(Rcmdr) deyince arayüz çıkyor kaşrına


temel bileşenler analizi (pca) R da iki farklı şekilde yapmışlar, prcomp komutuyla ya da  psych paketindeki principal ile mümkün.ikincisi daha benzer SPSS ye


şurada R daki örnek verilerden ,şurada iris çiçek verisinden bahsetmiş


deletea1=a1[complete.cases(a1),] #eksik satırları sil

complete.cases(data)
[1] FALSE  TRUE  TRUE FALSE FALSE

deletea1=a1[complete.cases(a1[ , 5:6]),]  #5ve6.sütunu boş olanları sil

eksik verilerle çok uğraştım , az daha ayrıntı

is.na(a1) #FALSE ÇIKANLARDA SIKINTI YOK,EKSİK OLSA true diyecek  
resimdeki çıktıyı verdi    
which(is.na(a1)) # bu vektör için aslında ,matrise uygulayınca aşağıdaki gibi çıkıyor.aslında aşağıdaki çıktıda sıkıntı yok görünen kısımda ama aslında  6000 küsur gsötermiş ki matris 1542 satırlık yani 1. sütundan sonra da saymaya devam etmiş işe yaramaz matriste
 which(is.na(a1$heiGHT)) #yukarıdakinden farkı sütun belirtince verdiği sayılar daha anlamlı oluyor,öbür türlü kaçıncı sütuna tekabül ediyor bulmak lazım
which(is.na(a1[ , 1])) #yukarıdakiyle aynı işi gördü
apply(is.na(expl_matrix1), 2, which) ###EN FAZLA İŞE YARAYAN KOD BU, burada "2" , matrisin indexini işaret ediyor,hani ilk başta satır sonra sütun yazıyorduk ya, buraya 3 yazamadık matris olduğu için,1 yazınca da satırlara göre hangi sütunda hata var onu gösteriyor, o da 2. resim 
https://www.rdocumentation.org/packages/base/versions/3.6.1/topics/NA
veri benim ama bu linkten yaralandım https://statisticsglobe.com/r-find-missing-values/
yukarıdaki açıklamaya örnek olsun diye
https://www.datacamp.com/community/tutorials/r-tutorial-apply-family

apply türevleri de var lapply,sapply …

—-

https://statisticsglobe.com/replace-na-with-last-observed-value-in-r
list to dataframe ,listeden veri tablosuna çevir
https://www.r-bloggers.com/converting-a-list-to-a-data-frame/
require(devtools)
source_gist(4676064)
> test1 <- list( c(a='a',b='b',c='c'), c(a='d',b='e',c='f'))
> as.data.frame(test1)
  a b c
1 a b c
2 d e f
EKLEME ;işe yaramadı be gülüm paketi yükleyemedim bile ??niye ekledin acaba bunu
https://stackoverflow.com/questions/22249702/delete-rows-containing-specific-strings-in-r
Value   Name 
    55     REVERSE223   
    22     GENJJS
    33     REVERSE456
    44     GENJKI
df[- grep("REVERSE", df$Name),]
df[!grepl("REVERSE", df$Name),]
Value   Name 
    22     GENJJS
    44     GENJKI
ilk tablo bu hale geldi
verimm <- data.matrix(sonn) #listeden numerik matrikse 
#ama aşağıdakini kullansa  listeden chracter matrikse dönüyor içinde genelde
verimm <- data.matrix(sonn)
https://stackoverflow.com/questions/17506691/converting-from-a-list-to-numeric-in-r

chisq.test(tablename)  ki kare testi
M<-as.table(rbind(c(100,130,20),c(100,300,175),c(25,50,100))) #kodu ile yukarıdaki tablo elde ediliyor 9x3 lük gibi dursa da 3 e 3lük var1 ve var2 ye dikkat edersen
dimnames(Q)<-list(yasgrubu=c("30un altı","30-40arası","50veüstü"),birincihaberkaynaği=c("radyo","tv","gazete"))   
#burada dinames ile yukarıdaki table satır ve sütunlarına ad veriyoruz, list sayesinde  sıraladık c ile birleştirdik, mezvu aşağıdaki resimde daha iyi anlaşılır
https://www.dataanalytics.org.uk/row-column-names-using-dimnames-in-r/

video youtube scraper comments

videodaki paket ismi değişmiş yorumlara yazmışlar ben de ekledim,şuan 2. videoyu çekmiyor çözmeye çalışıyorum,paketle ilgili ayrıntı.tamam video url sonundaki = den sonraki şeyi düzgün yazınca çekiyor.aslında ilk denemelerde deoldu herhalde de satır fazla geldiğinden göstermedi ama değişkene tıklayınca oldu

myapikey<-"writeyourshere"
youtubeAuth<-Authenticate("youtube",apiKey=myapikey)
video<-c("3gJngOCyrZg","8cGDkxySRtw")
ytdata<-Collect(credential =youtubeAuth,video,ego=F,maxComments = 200)
write.csv(ytdata,file="abc.csv",row.names = F) #ile R ın varsayılan (ya da ayarlanmış dizinine abc.csv dosyasını üretti)

ya da “tuber” paketini de kullansan olur , video

install.packages("tuber")
library(tuber)
appid<-"503732959299-82pabhm61mi7buoi8e31973gr77q8sko.apps.googleusercontent.com"
appsecret<-"eR1XklXDFq4xvleW0oQUDBMp"
yt_oauth(appid,appsecret,token="")
get_all_comments(video_id ="lV9X2K8uEYE" )
mycomments<-get_all_comments(video_id ="3gJngOCyrZg" )
UTF-8-MAC   yerine aşağıdaki 
iconv(text, to='UTF-8', sub = "byte")

csv vs okutmak için şu iki resim yardımcı olacaktır

aynı satıra sahip verileri silmek için — Remove Duplicate Rows based on multiple variables

http://www.datasciencemadesimple.com/remove-duplicate-rows-r-using-dplyr-distinct-function/

veri setiyle biraz oynamış işimizi görsün diye

http://www.datasciencemadesimple.com/remove-duplicate-rows-r-using-dplyr-distinct-function/
distinct(mydata, cyl,vs, .keep_all= TRUE)

nokta ve tilda (yaklaşık) anlamı aşağıda

~ tilda işareti deniyormuş ayrıntı için konsola aşağıdakini yaz
>help("~")
sol tarafta bir şey varsa dependent(bağımlı) sağdakiler bağımsızmış
 
 Species~. ifadesinde için açıklama
Here ~ is a separator, and . stands for all other attributes. Here you mean that, you have to predict Species~[separator] based on all other attributes
The dot means "any columns from data that are otherwise not used".

 Species ~ Sepal.Length + Sepal.Width + Petal.Length + Petal.Width
görüldüğü gibi birleştirmek için + kullan

stackoverflowdan şurada ve şurada

R dan export ederken,R dan excel e kaydederken

library(xlsx)
write.xlsx(mydata, "c:/mydata.xlsx")
http://www.sthda.com/english/wiki/writing-data-from-r-to-excel-files-xls-xlsx
library("xlsx")
write.xlsx(USArrests, file = "myworkbook.xlsx",
      sheetName = "USA-ARRESTS", append = FALSE)

http://www.sthda.com/english/wiki/writing-data-from-r-to-excel-files-xls-xlsx
yukarıdaki çalışmadı ama aşağıdaki oldu
install.packages("writexl")
library(writexl)
write_xlsx(x = ss, path = "A11.xlsx", col_names = TRUE)
dosyalar nereye ayarlıysa oraya atıyor ama yolu gösterirsen herhalde oraya atar
athlete_events <- read.csv("C:/Users/test/Downloads/120-years-of-olympic-history-athletes-and-results/athlete_events.csv")
zz<-athlete_events[complete.cases(athlete_events[ ,1:14]),]
library(dplyr)
ss<-distinct(zz, ID, .keep_all= TRUE)
library(MASS)
ss1<-ss[,1:14]
diskriminantsonuc=lda(Sex~.,data=ss1)
C:/Users/test/Downloads/120-years-of-olympic-history-athletes-and-results/athlete_events.csv
write.xlsx(ss,"C:/Users/test/Downloads/q11.xlsx",append = FALSE)
write.xlsx(ss,"C:/Users/test/Downloads/q11.xlsx")
write.xlsx(ss, file = "q11.xlsx",
           sheetName = "aqa", append = FALSE)

geçiciolarak
install.packages("vosonSML")
library(vosonSML)
myapikey<-"AIzaSyDeGYZYaYX02-ym1xbdnHGhC_6y_gPwsrU"
youtubeAuth<-Authenticate("youtube",apiKey=myapikey)
video<-c("J2U9Hmmpqhc","m7atGkba-Z8")
video1<-c("3gJngOCyrZg")
y1tdata<-Collect(credential =youtubeAuth,verbose=T,video1,ego=F)
y1tdata
str(ytdata)
write.csv(ytdata,file="abc2.csv",row.names = F)
abc.csv    
datam<-read.csv(file.choose(),header = T)
str(datam)
str
newdata=datam[datam$Comment!=F,]
dim(newdata)
datam$Comment
dim(datam)
nd=data.frame(datam$AuthorDisplayName,datam$Comment)
dim(nd)
library(igraph)
install.packages("igraph")
network=graph.data.frame(nd,directed = T)
network
network=simplify(network)
V(network)
E(network)
V(network)$label=V(network)$name
V(network)$degree=degree(network)
hist(V(network)$degree,col="green",main="Histogram of node degree",ylab = "frequency",xlab = "degree of vertices")

plot(network,vertex.size=0.2*V(network)$degree,edge.arrow.size=0.1,vertex.label.cex=0.2*V(network)$degree)

install.packages("tuber")
library(tuber)
appid<-"503732959299-82pabhm61mi7buoi8e31973gr77q8sko.apps.googleusercontent.com"
appsecret<-"eR1XklXDFq4xvleW0oQUDBMp"
yt_oauth(appid,appsecret,token="")
get_all_comments(video_id ="lV9X2K8uEYE" )
mycomments<-get_all_comments(video_id ="3gJngOCyrZg" )

write.csv(mycomments,file="deneme.csv")

datam$
library(igraph)
net<-graph.data.frame(,directed = T)
net<-simplif(net) 

install.packages("syuzhet")
library(syuzhet)
datam11<-read.csv(file.choose(),header = T)
str(datam11)
comments11<-iconv(datam11$Comment,to ='utf-8')
ss<-get_nrc_sentiment(comments11)
head(ss)
ss$neutral<-ifelse(ss$negative+ss$positive==0,1,0)
comments11[1]
barplot(100*colSums(ss)/sum(ss),
        las=2,
        col=rainbow(10),
        ylab="Percentage",
        main="sentiment scores for comments")

geçici duygu analizi notu
install.packages("tuber")
library(tuber)
myclientid<-"362849105250-f0h0tajr213cp6bfmj7f7g28s6ua2vp4.apps.googleusercontent.com"
clientsecret<-"eKZq-f5pugYQecIX7_Imwkie"
yt_oauth(myclientid,clientsecret,token="")
lastcomments1<-get_all_comments("Zt8NHMCmyzw")

bu şekilde yorumları çekebiliyorum
yazdırmak için de yurılarda da aynen yazdığım gibi
install.packages("writexl")
library(writexl)
write_xlsx(lastcommentstr5,path = "tr5.xlsx", col_names = TRUE)

Script te resimdeki gibi transpoz için tek tırnak kullanıp sonra yeni kod yazmaya çalışırsan sonraki kodlar yeşil oluyor,yeşil ne demek bilmiyorum ama mevzu uygun düşmüyor sonuç olarak o tek tırnağı kaldır ki eski halilne dönsün

bazı sütunları seçmek  şurada güzel anlatmış
https://statisticsglobe.com/extract-certain-columns-of-data-frame-in-r

pozisyon belirterek aşağıdaki gibi,diğer yollar için linke bak
data[ , c(1,3,5)] 

class (sınıf) ile type (tür tip) arasındaki farkı aşağıdaki örnekten incelyebilirsin

https://stackoverflow.com/questions/468145/what-is-the-difference-between-type-and-class

Ve şöyle bir örnek var solda.

https://www.statmethods.net/management/typeconversion.html

Kaç saatin gitti ama şükür ki fark ettin. ZANNEDİYORDUN ki yaptığın işlemin hiçbiri işe yaramamış ama süürekli typeof() fonksiyonunu kullandığın için farkı görememişsin. typeof u kullandığında hep sonuç oarak list gözüküyrdu birkaç kere chracter birkaç kere de matrix oldu . artık aşğıdaki resimden öğrenmiş oldun classs kullancaksın

zaten is.data.frame() fonksiyonu bildiğin üzere data frame mi diye soruyor ve cevabı class ın cevabıyla aynı buradan class çıktısını kaale almamız gerektiğini anlıyoruz

burada yaptığım hatayı da yeni fark ettim dataset=”xx ” şeklinde yazdığım için bir altındaki hatayı veriyordu (character olsun diyordu) . bu dataset in tanımlanma hatasını çözdükten sonra 3.resimdeki hatayı verdi o da content içeriğini uygun vermedğim için[bu hatalar microsoft un translate api vs onla ilgili]

sanıyırdum ki xx[1,] dediğimde sütun isimlerini alacak KÜÜLLİYEN HATA. yanıllmışsın o şekilde düşünmen de yanlış zaten , ilk satırı alacak olsan ne yaacaksın

tek sütun seçince dataset ve content.field e ne yazacağım sıkıntı oluyourdu. geçici çözüm olarak iki sütuna da aynı yorum sütunlarını ekledim

yandex api key için şunu izle , api.yandex.com yaz oradan arat vs

ls("package:RYandexTranslate") 
burada ls ile  paketin tüm fonksiyonlarını listeliyor 

error: lexical error: invalid char in json text. 400 Bad Re (right here) ——^ hatası adresindeki aşağıdaki kod sayesinde kulllanılabilir oldu/aynı zamanda detect language de de aynı hatayı verdi ama onu düzeltmedi.aşağıdaki kodun hepsini kopyala ve console yapıştır , enter la sonra hata aldığın fonksiyonları tekrardan çalıştır, olacak

function (api_key, text = "", lang = "") 
{
  url = "https://translate.yandex.net/api/v1.5/tr.json/translate?"
  url = paste(url, "key=", api_key, sep = "")
  if (text != "") {
    url = paste(url, "&text=", text, sep = "")
  }
  if (lang != "") {
    url = paste(url, "&lang=", lang, sep = "")
  }
  browser()
  d = getURL(url, ssl.verifyhost = 0L, ssl.verifypeer = 0L)
  d = fromJSON(d)
  d$code = NULL
  d
}

amacım şuradaki kodları uygulamaktı olmadı ( RYandexTranslate )

bir önceki resimlerde şu kodları uygulamak istemiştim (translateR)


Warning message:
package ‘translateR’ was built under R version 3.6.2 HATASından kurtulmak için dikkat et R STUDİO değil R ı güncelleyeceksin

aşağıdaki kodları kullanarak ve çıkan kutucukları onaylayarak güncelleme tamamlandı

install.packages("installr")
library(installr)
installr::updateR()

content.field in nasıl dolduralacağını buldum ama bir türlü tercüme edemedim,diğer seçenek de 2. resimde

translateR paketinin translate fonksiyonu sayfasında açıklamalar var

neyse şu hatayı verdi , R ın kendisini güncellemiştirm o sebeple çalışmamış olabilir terkarardan denemeli ve zaten başka paketler yükleyeyim dediğimde aşağıdaki uyarı çıktı

burada programfiles ın içinde demiş benim bilgisayarda belgelerimde R klasöründe

kapatıp açtım yine tercüme etmedi sebebi ne bilmiyorum.tercüme etse bile detect (tespit) i kötü , ingilizce metni yukarıdaki rsimde görüldüğü gib farklı dilde algılıyor


r da fare işaretçisinin yanıp sönmesi (blinking)

 Tools / Global Options / Code / Display / Blinking cursor işareti kaldır


googleLanguageR paketini de uygulayamadım , ilk başta yetkilendirmeyi bile yapamadım gl_auth(json_file) yapmaya çalıştıklarım ve hatalar aşağıda

2020-01-09 14:20:47 -- Translating text: 116 characters - 
2020-01-09 14:20:47> No authorization yet in this session!
2020-01-09 14:20:47> NOTE: a  .httr-oauth  file exists in current working directory.
 Run authentication function to use the credentials cached for this session.
Error: Invalid token

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Google fotoğrafı

Google hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Connecting to %s