2016-07-01 4 views
-1

Ich versuche, eine Reinigungsfunktion für einige Daten zu machen:Wie eine Variablen in R mehr Befehle auszuführen

clean=function(x){ 
x[-(1:2),] 
x[-(1604:1658),] 
names(x)=c(1,2) 
} 

Das Ziel der ersten und zweiten zu löschen ist, zusammen mit den 1604. bis 1658. Reihen, und benenne die Header in 1 und 2 um. Leider, wenn ich diese [x=clean(x)] ausführen, löscht es nur alle meine Daten und ersetzt sie durch eine Spalte und zwei Zeilen, von denen die erste 1 ist und die zweite 2 ist. Was ist los?

+1

'clean = function (x) setNames (x [-c (1: 2,1604: 1658),], 1: 2) ' –

+1

fwiw besser, keine Spalte nur mit einer Nummer zu benennen. Warum nicht 'col1' oder' c1'? –

Antwort

0

Die Syntax ist alles vermasselt:

clean <- function(x){ 
    x = x[-c(1:2,1604:1658),] 
    colnames(x) = c("Col1", "Col2") 
    return(x) 
} 

Added eine return Aussage pro @ Pierre Vorschlag

Verwandte Themen