R 如何将类似“0.496,0.424,0.141”的字符串转换为数字?

R 如何将类似“0.496,0.424,0.141”的字符串转换为数字?,r,numeric,R,Numeric,我有一列数据帧,它类似于0.496,0.424,0.141。现在我想把它们转换成数字,然后计算平均值。谁能告诉我怎么做?先谢谢你 string1 <- "0.496,0.424,0.141" #I have try mean(as.numeric(string1)) #but it didnot work 我们可以使用read.csv,然后使用rowMeans获得每一行的平均值 rowMeans(read.csv(text = string1, header = FALSE)) #[1

我有一列数据帧,它类似于0.496,0.424,0.141。现在我想把它们转换成数字,然后计算平均值。谁能告诉我怎么做?先谢谢你

string1 <- "0.496,0.424,0.141"
#I have try 
mean(as.numeric(string1))
#but it didnot work
我们可以使用read.csv,然后使用rowMeans获得每一行的平均值

rowMeans(read.csv(text = string1, header = FALSE))
#[1] 0.3536667
这同样适用于read.table

我们可以使用read.csv,然后使用rowMeans获得每一行的平均值

rowMeans(read.csv(text = string1, header = FALSE))
#[1] 0.3536667
这同样适用于read.table

比@RonakShah的解决方案略显冗长,但对初学者来说可能更容易理解:

mean(as.numeric(unlist(strsplit(string1, split = ","))))
[1] 0.3536667
解释 strsplit-在每个逗号处将字符串拆分为一个列表,然后 取消列表-将列表转换为向量,然后 as.numeric-将向量的每个值转换为numeric=float类型,然后 平均值-计算结果向量的平均值

比@RonakShah的解决方案略显冗长,但对初学者来说可能更容易理解:

mean(as.numeric(unlist(strsplit(string1, split = ","))))
[1] 0.3536667
解释 strsplit-在每个逗号处将字符串拆分为一个列表,然后 取消列表-将列表转换为向量,然后 as.numeric-将向量的每个值转换为numeric=float类型,然后
mean-计算结果向量的平均值

拆分字符串strsplit:lapplystrsplit0.496,0.424,0.141,,functionx means.numericxsplit字符串strsplit:lapplystrsplit0.496,0.424,0.141,,functionx means.numericx这是一个漂亮的解决方案!从来没有想过。这是聪明的:-美丽的解决方案!我从来没有想过。