[R] Loop over columns of dataframe and change values condtionally
PIKAL Petr
petr@p|k@| @end|ng |rom prechez@@cz
Thu Sep 2 15:51:00 CEST 2021
Hi
you could operate with whole data frame (sometimes)
head(iris)
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1 5.1 3.5 1.4 0.2 setosa
2 4.9 3.0 1.4 0.2 setosa
3 4.7 3.2 1.3 0.2 setosa
4 4.6 3.1 1.5 0.2 setosa
5 5.0 3.6 1.4 0.2 setosa
6 5.4 3.9 1.7 0.4 setosa
chenge all
> head(iris[,1:4]+10)
Sepal.Length Sepal.Width Petal.Length Petal.Width
1 15.1 13.5 11.4 10.2
2 14.9 13.0 11.4 10.2
3 14.7 13.2 11.3 10.2
4 14.6 13.1 11.5 10.2
5 15.0 13.6 11.4 10.2
6 15.4 13.9 11.7 10.4
change only some
> iris[,1:4][iris[,1:4]<2] <- iris[,1:4][iris[,1:4]<2]+10
> head(iris)
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1 5.1 3.5 11.4 10.2 setosa
2 4.9 3.0 11.4 10.2 setosa
3 4.7 3.2 11.3 10.2 setosa
4 4.6 3.1 11.5 10.2 setosa
5 5.0 3.6 11.4 10.2 setosa
6 5.4 3.9 11.7 10.4 setosa
Cheers
Petr
> -----Original Message-----
> From: R-help <r-help-bounces using r-project.org> On Behalf Of Luigi Marongiu
> Sent: Thursday, September 2, 2021 3:35 PM
> To: r-help <r-help using r-project.org>
> Subject: [R] Loop over columns of dataframe and change values condtionally
>
> Hello,
> it is possible to select the columns of a dataframe in sequence with:
> ```
> for(i in 1:ncol(df)) {
> df[ , i]
> }
> # or
> for(i in 1:ncol(df)) {
> df[ i]
> }
> ```
> And change all values with, for instance:
> ```
> for(i in 1:ncol(df)) {
> df[ , i] <- df[ , i] + 10
> }
> ```
> Is it possible to apply a condition? What would be the syntax?
> For instance, to change all 0s in a column to NA would `df[i][df[i == 0] =
NA`
> be right?
> Thank you
>
>
> --
> Best regards,
> Luigi
>
> ______________________________________________
> R-help using r-project.org mailing list -- To UNSUBSCRIBE and more, see
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-
> guide.html
> and provide commented, minimal, self-contained, reproducible code.
More information about the R-help
mailing list