如何将“0.496,0.424,0.141”之类的字符串转换为数字?
How to convert a string like "0.496,0.424,0.141" to 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.3536667
同样适用于 read.table
rowMeans(read.table(text = string1, sep = ","))
比@RonakShah 的解决方案稍微冗长一些,但对于初学者来说可能更容易理解:
mean(as.numeric(unlist(strsplit(string1, split = ","))))
[1] 0.3536667
说明
strsplit()
- 在每个逗号处将字符串拆分为一个列表,然后
unlist()
- 将列表转为向量,然后
as.numeric()
- 将向量的每个值转换成数字(= float)类型,然后
mean()
- 计算结果向量的平均值
我有一列数据框,类似于“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
rowMeans(read.table(text = string1, sep = ","))
比@RonakShah 的解决方案稍微冗长一些,但对于初学者来说可能更容易理解:
mean(as.numeric(unlist(strsplit(string1, split = ","))))
[1] 0.3536667
说明
strsplit()
- 在每个逗号处将字符串拆分为一个列表,然后
unlist()
- 将列表转为向量,然后
as.numeric()
- 将向量的每个值转换成数字(= float)类型,然后
mean()
- 计算结果向量的平均值