[R] Replacing values in a dataframe depending on several conditions
Berend Hasselman
bhh at xs4all.nl
Fri May 10 11:40:19 CEST 2013
On 10-05-2013, at 10:59, KatrinH Heimann <katrinheimann at gmail.com> wrote:
> Dear all,
>
> I would like to replace some values in a dataframe (including the columns
> Action, Interval and Artificiality) depending on a combination of different
> conditions
>
> the command I tried is
>
> for (j in 1:nrow(data))
>
> {
>
> if ((data[j,data$Action]=="s") & (data[j,data$Interval]=="l") & (data[j,data
> $Artificiality]!="a")) {data[j,data$Artificiality]<-"na"}
>
> else {
>
> if ((data[j,data$Action]=="l") & (data[j,data$Interval]=="s") & (data[j,data
> $Artificiality]!="a")) {data[j,data$Artificiality]<-"na"}
>
> }
>
> }
>
> R does not give me an error message, but it is also not doing anything...
> can somebody be of help?
Don't use data$Columnname to access the relevant column (it's most likely empty).
Use
data[j,"Action"]
etc. See ?"[.data.frame" (which you can also find with ?"Extract" and navigate).
And don't use data as name of your variable.
Do ?data to find out why.
Why are you using "na"? NA seems more appropriate.
Berend
More information about the R-help
mailing list