Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 更改列数不确定的数据框的格式(添加“1000位”表示)_R - Fatal编程技术网

R 更改列数不确定的数据框的格式(添加“1000位”表示)

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

我有一个包含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: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项。这个函数应该可以工作,但它不能