Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/75.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 如何删除附加到数字的斜杠_R - Fatal编程技术网

R 如何删除附加到数字的斜杠

R 如何删除附加到数字的斜杠,r,R,我的txt文件有问题。我想删除附加在数字上的斜杠。我怎么做?我还想用点代替逗号。我把文件内容复制到这里。注意:第一行是标题 Regions X1 X2 X3 X4 X5 X6 X7 Piemonte /25,4 35.9 8.5 0.6 7.6 13.5 8.5 Val_d_Aosta /41,3 49.6 1.9 0.0 0.9 5.8 0.5 Lombardia /26,5 36.4 10.6 2.1 4.1 15.2

我的txt文件有问题。我想删除附加在数字上的斜杠。我怎么做?我还想用点代替逗号。我把文件内容复制到这里。注意:第一行是标题

Regions  X1  X2  X3  X4  X5  X6  X7    
Piemonte  /25,4 35.9  8.5  0.6  7.6  13.5  8.5    
Val_d_Aosta  /41,3 49.6  1.9  0.0  0.9  5.8  0.5    
Lombardia  /26,5 36.4  10.6  2.1  4.1  15.2  5.1    
Liguria  33.2  /44,0 5.3  0.6  3.6  12.4  0.9    
Trentino  /26,3 52.3  6.5  0.5  2.1  11.6  0.7    
Veneto  23.3  /41,6 6.3  9.7  3.2  14.8  1.1    
Friuli  25.3  /49,1 5.4  0.8  3.0  12.8  3.6    
Emilia_Romagna  /29,4 40.7  7.9  0.9  5.6  13.5  2.0    
Toscana  38.5  /37,2 5.0  2.6  3.1  12.2  1.4    
Umbria  32.0  /46,8 4.6  0.7  4.5  9.4  2.0    
Marche  26.5  /49,4 4.4  0.8  4.2  9.1  5.6    
Lazio 21.4  /35,5 6.2  1.8  4.4  23.0  7.7    
Abruzzo  33.7  /54,1 2.4  0.1  3.1  4.1  2.5    
Molise  24.0  /64,5 0.6  0.0  2.9  6.8  1.2    
Campania  /31,0 40.9  4.6  3.4  2.0  12.1  6.0    
Puglia  33.5  /46,3 3.8  0.2  2.4  11.2  2.6    
Basilicata /24,4 60.4  2.9  0.1  4.5  5.7  2.0    
Calabria  /28,5 54.3  3.6  0.3  1.8  8.5  3.0    
Sicilia  33.5  /48,9 4.8  0.3  2.9  7.9  1.7    
Sardegna  /32,1 54.6  3.6  0.1  2.3  5.5  1.8    
Italia  28.4  /40,3 7.2  1.4  4.2  14.1  4.4

我们可以使用
baser
中的
gsub
循环遍历所有数字列,删除
/
,并将
替换为

df1[-1] <- lapply(df1[-1], function(x) 
         as.numeric(sub("[/]", "", gsub(",", ".", x))))
df1
#          Regions   X1   X2   X3  X4  X5   X6  X7
#1        Piemonte 25.4 35.9  8.5 0.6 7.6 13.5 8.5
#2     Val_d_Aosta 41.3 49.6  1.9 0.0 0.9  5.8 0.5
#3       Lombardia 26.5 36.4 10.6 2.1 4.1 15.2 5.1
#4         Liguria 33.2 44.0  5.3 0.6 3.6 12.4 0.9
#5        Trentino 26.3 52.3  6.5 0.5 2.1 11.6 0.7
#6          Veneto 23.3 41.6  6.3 9.7 3.2 14.8 1.1
#7          Friuli 25.3 49.1  5.4 0.8 3.0 12.8 3.6
#8  Emilia_Romagna 29.4 40.7  7.9 0.9 5.6 13.5 2.0
#9         Toscana 38.5 37.2  5.0 2.6 3.1 12.2 1.4
#10         Umbria 32.0 46.8  4.6 0.7 4.5  9.4 2.0
#11         Marche 26.5 49.4  4.4 0.8 4.2  9.1 5.6
#12          Lazio 21.4 35.5  6.2 1.8 4.4 23.0 7.7
#13        Abruzzo 33.7 54.1  2.4 0.1 3.1  4.1 2.5
#14         Molise 24.0 64.5  0.6 0.0 2.9  6.8 1.2
#15       Campania 31.0 40.9  4.6 3.4 2.0 12.1 6.0
#16         Puglia 33.5 46.3  3.8 0.2 2.4 11.2 2.6
#17     Basilicata 24.4 60.4  2.9 0.1 4.5  5.7 2.0
#18       Calabria 28.5 54.3  3.6 0.3 1.8  8.5 3.0
#19        Sicilia 33.5 48.9  4.8 0.3 2.9  7.9 1.7
#20       Sardegna 32.1 54.6  3.6 0.1 2.3  5.5 1.8
#21         Italia 28.4 40.3  7.2 1.4 4.2 14.1 4.4

df1[-1]A
tidyverse
approach

df %>%
    mutate_at(vars(starts_with("X")), function(x) 
        as.numeric(gsub("/(\\d+),(\\d+)", "\\1.\\2", x)))
#          Regions   X1   X2   X3  X4  X5   X6  X7
#1        Piemonte 25.4 35.9  8.5 0.6 7.6 13.5 8.5
#2     Val_d_Aosta 41.3 49.6  1.9   0 0.9  5.8 0.5
#3       Lombardia 26.5 36.4 10.6 2.1 4.1 15.2 5.1
#4         Liguria 33.2 44.0  5.3 0.6 3.6 12.4 0.9
#5        Trentino 26.3 52.3  6.5 0.5 2.1 11.6 0.7
#6          Veneto 23.3 41.6  6.3 9.7 3.2 14.8 1.1
#7          Friuli 25.3 49.1  5.4 0.8   3 12.8 3.6
#8  Emilia_Romagna 29.4 40.7  7.9 0.9 5.6 13.5   2
#9         Toscana 38.5 37.2    5 2.6 3.1 12.2 1.4
#10         Umbria 32.0 46.8  4.6 0.7 4.5  9.4   2
#11         Marche 26.5 49.4  4.4 0.8 4.2  9.1 5.6
#12          Lazio 21.4 35.5  6.2 1.8 4.4   23 7.7
#13        Abruzzo 33.7 54.1  2.4 0.1 3.1  4.1 2.5
#14         Molise 24.0 64.5  0.6   0 2.9  6.8 1.2
#15       Campania 31.0 40.9  4.6 3.4   2 12.1   6
#16         Puglia 33.5 46.3  3.8 0.2 2.4 11.2 2.6
#17     Basilicata 24.4 60.4  2.9 0.1 4.5  5.7   2
#18       Calabria 28.5 54.3  3.6 0.3 1.8  8.5   3
#19        Sicilia 33.5 48.9  4.8 0.3 2.9  7.9 1.7
#20       Sardegna 32.1 54.6  3.6 0.1 2.3  5.5 1.8
#21         Italia 28.4 40.3  7.2 1.4 4.2 14.1 4.4
这将替换所有以
X
开头的列中的反斜杠和逗号,并将条目转换为
numeric
s


样本数据
df欢迎使用堆栈溢出!纯代码编写请求与堆栈溢出无关-我们希望这里的问题与特定的编程问题相关-但我们很乐意帮助您自己编写!告诉我们,你被困在哪里了。这也将有助于我们更好地回答您的问题。
dat[-1]=as.numeric(sub(“/”,”,sub(“,”,”),as.matrix(dat[-1]))
df %>%
    mutate_at(vars(starts_with("X")), function(x) 
        as.numeric(gsub("/(\\d+),(\\d+)", "\\1.\\2", x)))
#          Regions   X1   X2   X3  X4  X5   X6  X7
#1        Piemonte 25.4 35.9  8.5 0.6 7.6 13.5 8.5
#2     Val_d_Aosta 41.3 49.6  1.9   0 0.9  5.8 0.5
#3       Lombardia 26.5 36.4 10.6 2.1 4.1 15.2 5.1
#4         Liguria 33.2 44.0  5.3 0.6 3.6 12.4 0.9
#5        Trentino 26.3 52.3  6.5 0.5 2.1 11.6 0.7
#6          Veneto 23.3 41.6  6.3 9.7 3.2 14.8 1.1
#7          Friuli 25.3 49.1  5.4 0.8   3 12.8 3.6
#8  Emilia_Romagna 29.4 40.7  7.9 0.9 5.6 13.5   2
#9         Toscana 38.5 37.2    5 2.6 3.1 12.2 1.4
#10         Umbria 32.0 46.8  4.6 0.7 4.5  9.4   2
#11         Marche 26.5 49.4  4.4 0.8 4.2  9.1 5.6
#12          Lazio 21.4 35.5  6.2 1.8 4.4   23 7.7
#13        Abruzzo 33.7 54.1  2.4 0.1 3.1  4.1 2.5
#14         Molise 24.0 64.5  0.6   0 2.9  6.8 1.2
#15       Campania 31.0 40.9  4.6 3.4   2 12.1   6
#16         Puglia 33.5 46.3  3.8 0.2 2.4 11.2 2.6
#17     Basilicata 24.4 60.4  2.9 0.1 4.5  5.7   2
#18       Calabria 28.5 54.3  3.6 0.3 1.8  8.5   3
#19        Sicilia 33.5 48.9  4.8 0.3 2.9  7.9 1.7
#20       Sardegna 32.1 54.6  3.6 0.1 2.3  5.5 1.8
#21         Italia 28.4 40.3  7.2 1.4 4.2 14.1 4.4
df <- read.table(text =
    "Regions  X1  X2  X3  X4  X5  X6  X7
Piemonte  /25,4 35.9  8.5  0.6  7.6  13.5  8.5
Val_d_Aosta  /41,3 49.6  1.9  0.0  0.9  5.8  0.5
Lombardia  /26,5 36.4  10.6  2.1  4.1  15.2  5.1
Liguria  33.2  /44,0 5.3  0.6  3.6  12.4  0.9
Trentino  /26,3 52.3  6.5  0.5  2.1  11.6  0.7
Veneto  23.3  /41,6 6.3  9.7  3.2  14.8  1.1
Friuli  25.3  /49,1 5.4  0.8  3.0  12.8  3.6
Emilia_Romagna  /29,4 40.7  7.9  0.9  5.6  13.5  2.0
Toscana  38.5  /37,2 5.0  2.6  3.1  12.2  1.4
Umbria  32.0  /46,8 4.6  0.7  4.5  9.4  2.0
Marche  26.5  /49,4 4.4  0.8  4.2  9.1  5.6
Lazio 21.4  /35,5 6.2  1.8  4.4  23.0  7.7
Abruzzo  33.7  /54,1 2.4  0.1  3.1  4.1  2.5
Molise  24.0  /64,5 0.6  0.0  2.9  6.8  1.2
Campania  /31,0 40.9  4.6  3.4  2.0  12.1  6.0
Puglia  33.5  /46,3 3.8  0.2  2.4  11.2  2.6
Basilicata /24,4 60.4  2.9  0.1  4.5  5.7  2.0
Calabria  /28,5 54.3  3.6  0.3  1.8  8.5  3.0
Sicilia  33.5  /48,9 4.8  0.3  2.9  7.9  1.7
Sardegna  /32,1 54.6  3.6  0.1  2.3  5.5  1.8
Italia  28.4  /40,3 7.2  1.4  4.2  14.1  4.4", header = T)