Ich habe einen Datenrahmen, wobei die erste Spalte den Namen jedes Staates ist. Und die letzte Spalte ist eine kategorische Variable. Ich möchte alle anderen Spalten außer diesen beiden skalieren. Und später möchte ich die letzte Spalte wieder zum Datenrahmen hinzufügen. Hier ist, was ich DIDUmbenennen einer hinzugefügten Variablen in einem Datenrahmen
data_new <- cbind(scale(data[,2:11], FALSE, apply(data[,2:11], 2, sd)), data[ ,c(12)])
Wenn ich die Datenrahmen zurück, die letzte Spalte Name verschwunden ist (wenn Sie die Spalte mit 4,4,4,1,3,2 sehen ....).
violcr propcr ympct medinc ymunemp subsabuse gini ineqratio school bachdeg
[1,] 3.3178283 5.520019 14.91484 4.926599 5.926865 9.942629 24.34441 2.297458 7.420143 5.293805 4
[2,] 4.9355995 4.794578 19.33284 8.132947 3.660475 13.367018 21.36148 1.773477 6.497878 6.542936 4
[3,] 3.1043508 5.554588 15.76717 5.653173 4.779743 12.653053 23.92486 2.754263 5.925069 6.270668 4
[4,] 3.7269288 5.798660 15.19722 4.672179 4.334980 10.167396 24.11929 2.767698 8.379425 4.943795 4
[5,] 3.0748521 4.240596 16.55721 6.962185 5.279658 11.515997 25.01979 3.882839 5.351711 7.171495 1
[6,] 2.3994870 4.395204 16.06272 6.731090 3.732236 13.591785 23.45414 2.700521 5.250990 8.690245 3
[7,] 1.8390115 3.336054 15.09004 7.914420 5.419199 11.820093 25.60819 5.723492 7.062003 7.554442 2
Ich habe versucht, diesen Befehl mit dem 12. Spalten-
colnames(data_new)[,12] <- "guns"
Allerdings habe ich einen Fehler zu nennen. Wenn ich versuche, alle Spalten einschließlich der letzten umzubenennen, dann funktioniert es auch nicht. Könnte jemand helfen, wie man das beheben kann?
Sie brauchen 'Daten [12]' dh 'cbind (Maßstab (Daten [, 2: 11 ], FALSE, apply (data [, 2: 11], 2, sd)), data [12]) 'weil' data [, 12] 'es in einen' vector' umwandeln, während 'data [12]' noch steht ein data.frame – akrun
Großartig ... das hat funktioniert. Vielen Dank! –
Was ist der Fehler, den Sie bekommen, wenn Sie den 'colnames' Befehl versuchen? Sie sollten 'cbind (..., guns = data [, 12])' verwenden können, um einen Namen zuzuweisen. – MrGumble