【发布时间】:2016-12-24 02:14:11
【问题描述】:
我有一行代码需要运行 12 次,每次都进行字符串替换。
unique1 <- unique(master[c("Country_University_1", "City_University_1", "Latitude_city_1", "Longitude_city_1")])
通过将每个列名末尾的数字加一,这将产生 12 个单独的数据帧,然后我将它们与 rbind 绑定在一起
我的目标是编写一个函数,该函数采用列名 的最后一个字符和 对象名称并像 x <- x + 1 一样递增 1 并在 12 处停止。我一直在绝望地尝试编写一个看起来像
x <- c("Country_University_1", "City_University_1", "Latitude_city_1", "Longitude_city_1")
for (i in 1:12){
gsub("i", nchar(x[1:4]-1 ) x[1:4])
print(x)
}
但我仍然不熟悉 R 语法。任何建议将不胜感激
完整写出,该函数将执行以下操作:
unique1 <- unique(master[c("Country_University_1", "City_University_1", "Latitude_city_1", "Longitude_city_1")])
unique2 <- unique(master[c("Country_University_2", "City_University_2", "Latitude_city_2", "Longitude_city_2")])
unique3 <- unique(master[c("Country_University_3", "City_University_3", "Latitude_city_3", "Longitude_city_3")])
unique4 <- unique(master[c("Country_University_4", "City_University_4", "Latitude_city_4", "Longitude_city_4")])
unique5 <- unique(master[c("Country_University_5", "City_University_5", "Latitude_city_5", "Longitude_city_5")])
unique6 <- unique(master[c("Country_University_6", "City_University_6", "Latitude_city_6", "Longitude_city_6")])
unique7 <- unique(master[c("Country_University_7", "City_University_7", "Latitude_city_7", "Longitude_city_7")])
unique8 <- unique(master[c("Country_University_8", "City_University_8", "Latitude_city_8", "Longitude_city_8")])
unique9 <- unique(master[c("Country_University_9", "City_University_9", "Latitude_city_9", "Longitude_city_9")])
unique10 <- unique(master[c("Country_University_10", "City_University_10", "Latitude_city_10", "Longitude_city_10")])
unique11 <- unique(master[c("Country_University_11", "City_University_11", "Latitude_city_11", "Longitude_city_11")])
unique12 <- unique(master[c("Country_University_12", "City_University_12", "Latitude_city_12", "Longitude_city_12")])
output <- rbind(unique1, unique2, unique3, unique4, unique5, unique6, unique7, unique8, unique9, unique10, unique11, unique12)
【问题讨论】:
标签: r function loops increment