В функции округления значений на основе разных условий - PullRequest
0 голосов
/ 05 апреля 2020

Я хочу округлить эти значения, но они различны, поэтому я не могу установить общее правило, например, округление (pvalue, 2). Как мне выполнить sh это?

id <- LETTERS[1:10]
pvalue <- c(0.3,0.0432,0.0032,0.67,0.00000003,0.0069,0.782, 0.0004, 0.00076,0.341)
df <- data.frame(id,pvalue)
df


    id  pvalue
1   A 0.30000000
2   B 0.04320000
3   C 0.00320000
4   D 0.67000000
5   E 0.00000003
6   F 0.00690000
7   G 0.78200000
8   H 0.00040000
9   I 0.00076000
10  J 0.34100000

Это должно выглядеть так:

   id  pvalue
1   A     0.3
2   B    0.04
3   C   0.003
4   D    0.67
5   E <0.0001
6   F   0.007
7   G    0.78
8   H  0.0004
9   I  0.0007
10  J    0.34

1 Ответ

4 голосов
/ 05 апреля 2020

Я думаю, вы используете не тот инструмент. Если вы хотите подготовить значения p для научного отображения c, вы можете использовать функцию pvalString in lazyWeave , чтобы преобразовать ваши значения числовых c в правильно отформатированные строки.

library(lazyWeave)

pvalue <- c(0.3,0.0432,0.0032,0.67,0.00000003,0.0069,0.782, 0.0004, 0.00076,0.341)
pvalString(pvalue)

Вы можете редактировать параметры, чтобы получить именно то, что вы хотите, но настройки по умолчанию предоставят вам стандартное соглашение.

 [1] "0.30"    "0.043"   "0.003"   "0.67"    "< 0.001" "0.007"   "0.78"    "< 0.001" "< 0.001" "0.34" 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...