質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
R

R言語は、「S言語」をオープンソースとして実装なおした、統計解析向けのプログラミング言語です。 計算がとても速くグラフィックも充実しているため、数値計算に向いています。 文法的には、統計解析部分はS言語を参考にしており、データ処理部分はSchemeの影響を受けています。 世界中の専門家が開発に関わり、日々新しい手法やアルゴリズムが追加されています。

Q&A

解決済

1回答

663閲覧

R characterをnumericに変換

hailsham

総合スコア1

R

R言語は、「S言語」をオープンソースとして実装なおした、統計解析向けのプログラミング言語です。 計算がとても速くグラフィックも充実しているため、数値計算に向いています。 文法的には、統計解析部分はS言語を参考にしており、データ処理部分はSchemeの影響を受けています。 世界中の専門家が開発に関わり、日々新しい手法やアルゴリズムが追加されています。

0グッド

0クリップ

投稿2022/05/20 05:10

Rで
tmmというデータを読み込んで、
sapply(tmm, class)を行うと、
log2 fold changeという列で
"numeric"であってほしいデータが"character"なってしまいます。
tmmのCSVファイルを見ると、log2 fold changeの列に
infあるいはdecという文字列のセルが存在しています。
どうにかこの二つの文字列を数値0に変換、あるいはこの文字列を含む、行を削除したいのですが、うまくいきません。
初心者のためどうすればよいかわからず、教えていただけたら嬉しいです。

以下に今書いているスクリプトを張ります

#clean R's brain
rm(list=ls())

#libraries I need
library(ggplot2)
library(dplyr)

#Check libraries' version
packageVersion("ggplot2")
packageVersion("dplyr")

#get the data
library(readr)
tmm <- read_csv("C:/Users/R/Desktop/R/Datasets/tmm.csv")
df$"log2 fold change" <- as.numeric(df$"log2 fold change")
sapply(tmm, class)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

tmm.csv

csv

1log2 fold change 21 32.0 4inf 54.0 65.0 7dec 87.0 98.0 10inf 11dec

dplyr

r

1library(dplyr) 2library(readr) 3 4tmm <- read_csv("tmm.csv") 5tmm <- tmm %>% 6 filter(!grepl("inf|dec", `log2 fold change`)) %>% 7 mutate_at(vars(`log2 fold change`), as.numeric) 8 9print(tmm) 10sapply(tmm, class) 11 12# A tibble: 6 × 1 13# `log2 fold change` 14# <dbl> 15# 1 1 16# 2 2 17# 3 4 18# 4 5 19# 5 7 20# 6 8 21# 22# log2 fold change 23# "numeric"

投稿2022/05/20 08:31

melian

総合スコア19714

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問