R 将一列中的美分转换为美元

R 将一列中的美分转换为美元,r,R,我的df中有一列,我想把以美分为单位的值转换成美元,而那些以美元为单位的值,我希望它们保持原样 DF 有更优雅的方法可以做到这一点。这是我目前的做法: df <- data.frame( money = c("69¢", "40.6¢", "91.3¢", "50¢", "4¢", "$1.17", "$1", "$1.30")) dollar = as.character(df$money) cents <- as.numeric(unlist(strsplit(doll

我的df中有一列,我想把以美分为单位的值转换成美元,而那些以美元为单位的值,我希望它们保持原样

DF

有更优雅的方法可以做到这一点。这是我目前的做法:

df <- data.frame(
    money = c("69¢", "40.6¢", "91.3¢", "50¢", "4¢", "$1.17", "$1", "$1.30")) 
dollar = as.character(df$money)
cents <- as.numeric(unlist(strsplit(dollar, "¢"))) 
dollar[!is.na(cents)]<-paste0("$", round((cents/100), 2))
df$money = dollar
df

> df
  money
1 $0.69
2 $0.41
3 $0.91
4  $0.5
5 $0.04
6 $1.17
7    $1
8 $1.30

df有更优雅的方法可以做到这一点。这是我目前的做法:

df <- data.frame(
    money = c("69¢", "40.6¢", "91.3¢", "50¢", "4¢", "$1.17", "$1", "$1.30")) 
dollar = as.character(df$money)
cents <- as.numeric(unlist(strsplit(dollar, "¢"))) 
dollar[!is.na(cents)]<-paste0("$", round((cents/100), 2))
df$money = dollar
df

> df
  money
1 $0.69
2 $0.41
3 $0.91
4  $0.5
5 $0.04
6 $1.17
7    $1
8 $1.30

df请在您的问题中给出一个答案!使用
dput()
或数据帧的定义来显示数据。我想你最好有两列:一列是数值,一列是货币单位。jogo我的数据只有这种格式,其他列包含字符值,如名称。请阅读请在你的问题中给出a!使用
dput()
或数据帧的定义来显示数据。我想你最好有两列:一列是数值,一列是货币单位。jogo我的数据只有这种格式,其他列包含字符值,如名称。请阅读“王志强货币”是数据框的一列是的,这就是为什么你需要提供最小的可复制示例。好的,我会修改它。是的,对不起,我有点着急。王志强:钱是数据框架的一列。是的,这就是为什么你需要提供最小的可复制示例。好的,我会修改的。是的,对不起,我有点匆忙