Как удалить конечные нули в кадре данных R - PullRequest
0 голосов
/ 02 августа 2020

У меня есть R data.frame, который выглядит так:

   Gene    Score
1  AAT2 15.40100
2  ACB1  5.11880
3  ACF2 15.04500
4 ADE16  3.04080
5 ADE17  0.28143
6  ADE4 19.79200

Однако мне нужно избавиться от конечных нулей, чтобы получить:

   Gene    Score
1  AAT2 15.401
2  ACB1  5.1188
3  ACF2 15.045
4 ADE16  3.0408
5 ADE17  0.28143
6  ADE4 19.792

В основном я Я пытаюсь установить количество цифр в столбце оценки до 5 цифр. Как я могу сделать это в R?

Ответы [ 2 ]

1 голос
/ 02 августа 2020

Мы могли бы просто использовать as.character, и он удалит завершающие 0s

df_view$Score <- as.character(df$Score)
df_view$Score
#[1] "15.401"  "5.1188"  "15.045"  "3.0408"  "0.28143" "19.792" 

data

df_view <- data.frame(Gene=c("AAT2", "ACB1", "ACF2", "ADE16", "ADE17", "ADE4"),
                 Score=c(15.40100, 5.11880, 15.04500, 3.04080, 0.28143, 19.79200),
                 stringsAsFactors=FALSE)
1 голос
/ 02 августа 2020

Если вы хотите просматривать ваши Score данные в виде текста, без конечных нулей, используйте:

df_view <- df[c("Gene", "Score")]
df_view$Score <- sub("0+$", "", as.character(df_view$Score))

df_view

   Gene   Score
1  AAT2  15.401
2  ACB1  5.1188
3  ACF2  15.045
4 ADE16  3.0408
5 ADE17 0.28143
6  ADE4  19.792

Data:

df <- data.frame(Gene=c("AAT2", "ACB1", "ACF2", "ADE16", "ADE17", "ADE4"),
                 Score=c(15.40100, 5.11880, 15.04500, 3.04080, 0.28143, 19.79200),
                 stringsAsFactors=FALSE)
...