Снова я со своими проблемами.
Есть .csv файл:
;;G;59.942;;k;R;cp;$\xi$;1.06;1.05;1.03;1.01;1;0.95;0.9
p;344464;T;425.93;;1.4;287.037;1004.5;$H_{zi}$;48610;48151;47234;46317;45858;43565;41272
?;0.865;?;5.758;;;;;$\eta_i$;0.9;0.889;0.888;0.887;0.886;0.885;0.884
z;7;;;;;;;$T_{02i}$;474.3220683;522.2576077;569.2800891;615.3895127;661.0424073;704.4126572;745.5002624
Hz;321008;;;;;;;$\pi_i$;1.4060;1.3514;1.3089;1.2749;1.2496;1.2184;1.1924
Hzcp;45858;45858;45858;45858;45858;45858;45858;$T_{1i}$;425.93;474.3220683;522.2576077;569.2800891;615.3895127;661.0424073;704.4126572
Выглядит нечитабельно, но импортируется нормально следующей командой:
raspredel <- read.csv(file="raspredel.csv", sep=';', header=F, encoding = "cp1251", nrows = 6)[ ,9:16]
V9 V10 V11 V12 V13 V14 V15 V16 1 $\\xi$ 1.0600 1.0500 1.0300 1.0100 1.0000 0.9500 0.9000 2 $H_{zi}$ 48610.0000 48151.0000 47234.0000 46317.0000 45858.0000 43565.0000 41272.0000 3 $\\eta_i$ 0.9000 0.8890 0.8880 0.8870 0.8860 0.8850 0.8840 4 $T_{02i}$ 474.3221 522.2576 569.2801 615.3895 661.0424 704.4127 745.5003 5 $\\pi_i$ 1.4060 1.3514 1.3089 1.2749 1.2496 1.2184 1.1924 6 $T_{1i}$ 425.9300 474.3221 522.2576 569.2801 615.3895 661.0424 704.4127
Нужно округлить числа так, чтобы после целых чисел не добавлялось нулей.
Нагуглил вот такой вариант решения:
raspredel <- read.csv(file="raspredel.csv", sep=';', header=F, encoding = "cp1251", nrows = 6)[ ,10:16]
raspreel1 <- data.frame(
formatC(as.numeric(raspredel), format="f", digits=2, drop0trailing = TRUE),
c("1", "2", "3", "4", "5", "6")
)
В ответ получаю ошибку
Error in formatC(as.numeric(raspredel), format = «f», digits = 2, drop0trailing = TRUE) : (list) object cannot be coerced to type 'double'
Пробую сделать так:
raspredel <- read.csv(file="raspredel.csv", sep=';', header=F, encoding = "cp1251", nrows = 6, strip.white = TRUE, stringsAsFactors = FALSE, dec = ".")[ ,10:16]
raspreel1 <- data.frame(
formatC(as.numeric(raspredel), format="f", digits=2, drop0trailing = TRUE),
c("1", "2", "3", "4", "5", "6")
)
Получаю ту же ошибку.
Подскажите, пожалуйста, ЧЯДНТ?