gpt4 book ai didi

R:将 substr 应用于数据框列的每个元素

转载 作者:行者123 更新时间:2023-12-02 05:49:23 24 4
gpt4 key购买 nike

这是我的情况:我有一个数据框,我想将 substr 函数应用于特定列的每个元素。我要操作的列包含如下表达式:

x = c("name1_01", "name2_02", "name3_01")
df = data.frame(x)
colnames(df) = ("Names")
df["Names"] = sapply(df["Names"], as.character)
df
# Names
# 1 name1_01
# 2 name2_01
# 3 name3_01

现在我想删除特定列中每个条目的最后 3 位数字。我只是尝试了 substr 这不是我想要的:

df["Names"] = substr(df["Names"], 1,5)
df["Names"]
# Names
# 1 c("name1
# 2 c("name1
# 3 c("name1

如果我将 substr 应用于单个元素,我会得到正确的结果:

df[1,"Names"] = substr(df[1,"Names"], 1,5)
df[1,"Names"]
# Names
# [1,] "name1"

我已经尝试了很多(我也尝试过 sapply for substr)但我不明白。我对 R 很陌生,希望解决方案很明显......

先谢谢大家,克里斯!

最佳答案

使用 dplyr 中的 mutate():

library(dplyr)
df %>%
mutate(Names = substr(Names, 1, 5))

关于R:将 substr 应用于数据框列的每个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27582779/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com