Było nolast jest nofirst

Funkcja działa podobnie jak nofirstz tą różnicą, że operuje na pierwszych, a nie ostatnich wierszach!

nofirst<-function(x,first=1, mode="col"){
	if(is.vector(x)){
		return(x[-c(1:first)])
	}
	if(is.matrix(x)){
		if(mode=="col"){
			return(x[,-c(1:first)])
		}
		if(mode=="row"){
			return(x[-c(1:first),])
		}
	}
}

Created by Pretty R at inside-R.org

admin | wtorek, 22 listopad 2011 - 10:16 pm | | Blog-R | Brak komentarzy

Funkcja nolast z obsługą macierzy

Prosta, ale bardzo przydatna funkcja nolast(). Pozwala na usunięcie z wektora ostatnich elementów, określone są one argumentem last (domyślnie usuwa ostatni element), z macierz pozwala usunąć ostatnie kolumny lub wiersze, za co odpowiada argument mode ("row"/"col") (domyślnie usuwa ostatnią kolumnę).

nolast<-function(x,last=1, mode="col"){
	last<-last-1
	if(is.vector(x)){
		i<-length(x)
		return(x[-c((i-last):i)])
	}
	if(is.matrix(x)){
		if(mode=="col"){
			i<-ncol(x)
			return(x[,-c((i-last):i)])
		}
		if(mode=="row"){
			i<-nrow(x)
			return(x[-c((i-last):i),])
		}
	}
}

Created by Pretty R at inside-R.org

P.S. W zakątkach umysłu rodzi się wersja oparta o klasy S4.

admin | wtorek, 22 listopad 2011 - 8:50 pm | | Blog-R | Brak komentarzy

Źródło danych Data Market

Zobaczcie Data Market.

admin | poniedziałek, 21 listopad 2011 - 09:28 am | | Blog-R | Brak komentarzy

Wykresy R'a w programach WORD i EXCEL

Bardzo ciekawe rozwiązanie dla wykresów w programach WORD i EXCEL. Pozwala na tworzenie i aktualizację wykresów ze środowiska R.

Interface for R

Jeszcze nie testowałem, ale wygląda bardzo obiecująco. ZOBACZ

 Źródło: R-bloggers

admin | poniedziałek, 21 listopad 2011 - 09:24 am | | Blog-R | Brak komentarzy

Interaktywne prezentacje HTML w R

Bardzo ciekawa alternatywa Google dla PowerPointa i Beamera.

PRZYKŁADOWA PREZENTACJA

Źródło: R-bloggers

admin | niedziela, 20 listopad 2011 - 10:57 pm | | Blog-R | Brak komentarzy

Funkcja bez nawiasów

W nawiązaniu do funkcji ls bez nawiasów, stworzyłem bardzo przydatną klasę S4 za pomocą, której można wywoływać różne funkcje z różnymi argumentami bez stosowania nawiasów. Obiekt składa się z trzech slotów. Pierwszy o nazwie fun zawiera nazwę wywoływanej funkcji, drugi o nazwie arg zawiera argumenty dla tej funkcji, trzeci o nazwie show decyduje o tym, w jaki sposób wynik funkcji powienien zostać zwrócony. Na samym końcu przekład zastosowania:

setClass("simplefunction",representation(fun="character", arg="list",show="logical"))
setMethod("show","simplefunction",function(object){
	tmp<-NULL
	if(!is.empty(object@arg)) 
		tmp<-do.call(object@fun, object@arg) else
			tmp<-do.call(object@fun)
	if(object@show==TRUE)
		print(tmp) else
			return(tmp)
	}
)

Created by Pretty R at inside-R.org

Wymaga funkcji is.empty()

is.empty<-function(x){
	if(length(x)==0)
		return(TRUE) else
		return(FALSE)
}

Przykład zastosowania:

l@fun<-"ls"
l@arg<-list(pos=1)
l@show<-TRUE
 
l

Created by Pretty R at inside-R.org

admin | niedziela, 20 listopad 2011 - 12:10 am | | Blog-R | Brak komentarzy

Eksprakcja Tekstu z HTML'a

# load packages
library(RCurl)
library(XML)
 
# assign input (could be a html file, a URL, html text, so some combination of all three is the form of a vector)
input <- "http://www.google.co.uk/search?gcx=c&sourceid=chrome&ie=UTF-8&q=r+project#pq=%22hello+%3C+world%22&hl=en&cp=5&gs_id=3r&xhr=t&q=phd+comics&pf=p&sclient=psy-ab&source=hp&pbx=1&oq=phd+c&aq=0&aqi=g4&aql=&gs_sm=&gs_upl=&bav=on.2,or.r_gc.r_pw.r_cp.,cf.osb&fp=27ff09b2758eb4df&biw=1599&bih=904"
 
# evaluate input and convert to text
txt <- htmlToText(input)
txt
 
#r project - Google Search Web Images Videos Maps News Shopping Gmail More Translate Books Finance Scholar Blogs YouTube Calendar Photos Documents Sites Groups Reader Even more » Account Options Sign in Search settings Web History Advanced Search Results 1 - 10 of about 336,000,000 for r project . Everything More Search Options Show options... Web The R Project for Statistical Computing R , also called GNU S, is a strongly functional language and environment to statistically explore data sets, make many graphical displays of data from custom ... www. r - project .org/ - Cached - Similar [Trunc...]

Created by Pretty R at inside-R.org

Żeby zadziałało potrzebna jest jeszcze funkcja ze strony: github.com

Źródło: R-bloggers

admin | piątek, 18 listopad 2011 - 10:23 pm | | Blog-R | Brak komentarzy

Pytając Tak/Nie

Prosta funkcja, która pozwala zadać użytkownikowi w konsoli pytanie Tak/Nie.

yesno<-function(question="Do you want to do this?\n", mark=">",yes="y", no="n"){
	RL<-function() return(tolower(readline(paste(question,"[",yes,"|",no,"]",mark,sep=""))))
	tmp<-RL()
	while(tmp!=yes & tmp!=no){
		tmp<-RL()
	}
	if(tmp==yes) return(TRUE)
	if(tmp==no) return(FALSE)
}

Created by Pretty R at inside-R.org

Funkcja zwraca wartości <b>TRUE/FALSE</b>, dlatego nadaje się do zastosowanie z <b>if</b>

admin | piątek, 18 listopad 2011 - 8:59 pm | | Blog-R | Brak komentarzy

Poziome wykresy w Sweave

Dobra rozkładówka nie jest zła:

Sharp Statistics

Źródło: R-bloggers

http://sharpstatistics.co.uk/r/landscape-figures-in-sweave/

admin | czwartek, 17 listopad 2011 - 10:37 am | | Blog-R | Brak komentarzy

Szybkie okno GUI dla zmiennych

Bardzo przydatne, jeżeli chcemy, aby zmienne dla funkcji podawane były nie w konsoli, a w oknie graficznym:

# load packages
require(fgui)
 
# add two number together and return the value
add <- function(x1,  x2) {
  return(x1 + x2)
}
 
# execute function through GUI
y <- guiv(add)
# [1] 5

Created by Pretty R at inside-R.org

Źródło: http://www.r-bloggers.com/

admin | czwartek, 17 listopad 2011 - 10:27 am | | Blog-R | Brak komentarzy

Funkcja sprawdzająca, czy element jest pusty...

Funkcja is.empty przydaje się przy sprawdzaniu: Czy sloty w obiektach są puste? . Przydane w procesie walidacji obiektów.

is.empty<-function(x){
	if(length(x)==0)
		return(TRUE) else
		return(FALSE)
}

Created by Pretty R at inside-R.org

admin | wtorek, 15 listopad 2011 - 10:16 pm | | Blog-R | Brak komentarzy

nolast wektor bez "y" ostatnich elementów

Funkcja zwraca wektor x bez yostatnich elementów - domyślnie bez ostatniego.

nolast<-function(x,y=1){
	i<-length(x)
	y<-y-1
	return(x[-c((i-y):i)])
}

Created by Pretty R at inside-R.org

admin | wtorek, 15 listopad 2011 - 8:34 pm | | Blog-R | Brak komentarzy

Funkcja ls bez nawiasów...

Zamiast ls() wystarczy sls.

setClass("newls",representation(empty="logical"))
setMethod("show","newls",function(object){
		print(ls(pos=1))
	}
)
sls<-new("newls")

Created by Pretty R at inside-R.org

admin | wtorek, 15 listopad 2011 - 8:06 pm | | Blog-R | Brak komentarzy

Drugi kod - znacznik czasu i daty

Prosta funkcja, która zwraca identyfikator czasu... Przydatna np. do zapisywania kolejnych wersji środowiska pracy bez konieczności nadawania im kolejnych nazw.

timeid<-function(sep="-")
{
	return(gsub(":",sep,substr(date(),12,19)))
}

Created by Pretty R at inside-R.org

admin | wtorek, 15 listopad 2011 - 7:46 pm | | Blog-R | Brak komentarzy

Pierwszy kod funkcja ifexist

Pierwszy kod: Prosta funkcja, która sprawdza, czy element o nazwie name występuje w wektorze x. Wywołanie:

ifexist<-function(x, name){
	if(any(names(x)==name)){
		return(TRUE)
	} else {
		return(FALSE)
	}
}

Przykładowe zastosowanie

if(ifexist(x, name)){
	cat("Element istnieje", name, "\n")
} else {
	cat("Brak elementu", name, "\n")
}

Created by Pretty R at inside-R.org

admin | wtorek, 15 listopad 2011 - 5:42 pm | | Blog-R | Brak komentarzy

Kolorowanie składni na stronie internetowej

Coś o czym marzy każdy publikujący kod źródłowy na stronie internetowej... Prosta strona, która generuje kod HTML na podstawie kodu R'a, tak, aby umieścić bardzo zgrabnie pokolorowaną składnie.

http://www.inside-r.org/pretty-r/tool

admin | wtorek, 15 listopad 2011 - 5:25 pm | | Blog-R | Brak komentarzy

Edytor online R'a

Znalazłem w sieci edytor on-line pozwalający na zapisywanie edycję i publikację kodu w wielu językach programowania w tym w R. Zachęcam do wypróbowania. https://ideone.com/

Jedyną wadą tego edytora jest brak możliwości generowania i zapisywania plików graficznych. Szukam jeszcze edytora, który da możliwość pracy grupowej.

admin | czwartek, 10 listopad 2011 - 7:44 pm | | Blog-R | Brak komentarzy

Nowa wersja 2.14

31 października 2011 wydana została nowa wersja środowiska oznaczona numerem 2.14. Najciekawszą z mojego punktu widzenia nowością jest umieszczenie pakietu Paraller.

admin | piątek, 04 listopad 2011 - 10:37 am | | Blog-R | Brak komentarzy

Paraller R

Pojawiła się na rynku interesująca pozycja książkowa wydawnictwa O'Reilly.

Paraller R

admin | czwartek, 03 listopad 2011 - 1:12 pm | | Blog-R | Brak komentarzy

Kilka słów wstępu na temat R'a

Czytam właśnie "A (Not So) Short Introduction to S4. Object Oriented Programming in R V 0.5.1" autorstwa Christophe Genolini. I dostrzegam jak bardzo złożony i niespójny jest R sam w sobie i jak wiele niebezpieczeństw niesie ze sobą praca w tym środowisku. Nie zmienia to jednak mojego optymistycznego nastawienia do tegoż środowiska :)

admin | środa, 02 listopad 2011 - 10:00 pm | | Blog-R | Brak komentarzy

Witam

Witamy na nowym blogu poświęconym problematyce R'a.

admin | środa, 02 listopad 2011 - 3:06 pm | | Blog-R | Brak komentarzy