1
由行值的列的变更行值我有一个数据帧,例如:的R - 从另一列
X1 X2
A Type1
A Type2
N Type1
A Type3
N Type2
N Type2
X1和X2因素和不是字符。
我想有以下数据帧:
X1 X2
A Type1
A Type2
N NR
A Type3
N NR
N NR
正如你可以看到,当X1等于“N”,我想X2等于“NR”。我尝试使用ifelse和其他函数,但它不起作用并返回“FALSE”。
这里是我已经尝试了代码:
df<-within(df, X2[X1=="N"] <- 'NR')
最有可能的分配,问题是,你是用因子变量,而不是字符工作变量。你可以使用'str(df)'来检查它,其中df是你的data.frame的名字。要读取字符变量,请在'read.csv'或'read.table'中使用'as.is = TRUE'。例如,您可以使用'df $ X1 < - as.character(df $ X1)'来转换为字符。使用字符变量(特别是将X2作为字符向量)时,'df [df $ X1 ==“N”,“X2”] < - “NR”'将完成您想要的操作。 – lmo