R 更改列数不确定的数据框的格式(添加“1000位”表示)
我有一个包含n列的数据框,这些列(如果存在)包含“大”数字,例如1234。现在我想将值从1234改为1.234。我可以这样做:R 更改列数不确定的数据框的格式(添加“1000位”表示),r,R,我有一个包含n列的数据框,这些列(如果存在)包含“大”数字,例如1234。现在我想将值从1234改为1.234。我可以这样做: format(round(as.numeric(c(1234)), 1), nsmall=0, big.mark=".", decimal.mark=",") 但我希望所有列都有一个函数(不确定有多少列),从第三列开始(以及之后的每一列),因此我尝试了以下方法: df[3:ncol(df)] <- format(round(as.numeric(c(df[3:n
format(round(as.numeric(c(1234)), 1), nsmall=0, big.mark=".", decimal.mark=",")
但我希望所有列都有一个函数(不确定有多少列),从第三列开始(以及之后的每一列),因此我尝试了以下方法:
df[3:ncol(df)] <- format(round(as.numeric(c(df[3:ncol(df)]))), nsmall=0, big.mark=".")
df[3:ncol(df)]我会使用:
correct=function(x){ format(round(as.numeric(c(x)), 1), nsmall=0, big.mark=".", decimal.mark=",")}
df[,3:ncol(df)]=apply(df[,3:ncol(df)],2,correct) #apply through columns
如果您不喜欢带有引号的输出,可以更改函数correct
是否以字符类型的“数字”开头?如果没有,那么您可以这样调整df[3:ncol(df)]错误:替换有14项,需要3092项。这个函数应该可以工作,但它不能