R语言提取a数据框中c列按照/分为新的列
时间: 2023-12-22 20:06:46 浏览: 25
假设需要将数据框a中的c列按照/分为新的列,可以使用strsplit函数和do.call函数实现。
代码如下:
```
# 创建数据框a
a <- data.frame(c = c("A/B/C", "D/E/F", "G/H/I"))
# 使用strsplit函数将c列按照/分为新的列
a_new <- do.call(rbind, strsplit(as.character(a$c), "/"))
# 将新的列添加到原数据框a中
colnames(a_new) <- paste0("col", 1:ncol(a_new))
a <- cbind(a, a_new)
# 输出结果
a
# 输出:
# c col1 col2 col3
# 1 A/B/C A B C
# 2 D/E/F D E F
# 3 G/H/I G H I
```
首先使用strsplit函数将c列按照/分为新的列,并使用do.call函数将结果合并成一个数据框。然后,将新的列添加到原数据框a中,最后输出结果。
相关问题
R语言提取a数据框中c列的某些字符
可以使用字符串操作函数来提取数据框中某列的某些字符。下面是一个示例代码:
假设数据框名为df,需要提取第三列(列名为c)中的前三个字符,可以使用以下代码:
```
new_col <- substr(df$c, 1, 3)
```
上述代码中,substr函数用于提取字符串中的子字符串。第一个参数指定要提取的字符串向量,第二个参数指定提取的起始位置,第三个参数指定提取的结束位置。在本例中,起始位置为1,结束位置为3,因此提取的是前三个字符。
将提取得到的新向量赋值给一个新列,可以使用以下代码:
```
df$new_col <- new_col
```
这样就在数据框中添加了一个新列。
R语言如何提取数据框中非第二列和第三列的子集
你可以使用下列代码来提取数据框中非第二列和第三列的子集:
```
subset(df, select = -c(2,3))
```
其中,`df`是你的数据框,`-c(2,3)`表示不包括第二列和第三列。`subset()`函数用来根据某些条件筛选出数据框中的子集,而`select`参数用来指定选取哪些列。在本例中,我们使用`-c(2,3)`来排除第二列和第三列。