R 在方括号内使用减号
下面是Datacamp的一个练习 使用cbind()调用包含所有三张图纸。确保删除了urban_sheet2和urban_sheet3的第一列,这样就不会有重复的列。将结果存储在城市中 代码:R 在方括号内使用减号,r,dataframe,square-bracket,R,Dataframe,Square Bracket,下面是Datacamp的一个练习 使用cbind()调用包含所有三张图纸。确保删除了urban_sheet2和urban_sheet3的第一列,这样就不会有重复的列。将结果存储在城市中 代码: #添加代码以从urbanpop.xls中的所有三张图纸导入数据 路径这不是特定于cbind()。您可以使用方括号内的-删除所需的任何特定行或列。如果数据帧是df,df[,-1]将删除其第一列df[,-2]将删除其第二列(也是唯一的第二列)df[,-c(1,2)]将删除其第一列和第二列。同样,df[-1,]
#添加代码以从urbanpop.xls中的所有三张图纸导入数据
路径这不是特定于cbind()
。您可以使用方括号内的-
删除所需的任何特定行或列。如果数据帧是df
,df[,-1]
将删除其第一列df[,-2]
将删除其第二列(也是唯一的第二列)df[,-c(1,2)]
将删除其第一列和第二列。同样,df[-1,]
将删除其第一行,以此类推
这不能用列名完成,例如,df[,-“var1”]
将不起作用。要使用列名,您可以使用which()
,如df[,-which(名称(df)%in%“var1”)]
,但只需使用df[,!名称(df)%in%“var1”)]
就更容易了,并产生相同的结果。您还可以使用subset()
:subset(df,select=-c(var1,var2))
;这将删除名为“var1”和“var2”的列
请注意,删除行和列只会影响调用的输出,并且不会影响原始对象,除非将输出分配给原始对象。这不是特定于cbind()
。您可以使用方括号内的-
删除所需的任何特定行或列。如果数据帧是df
,df[,-1]
将删除其第一列df[,-2]
将删除其第二列(也是唯一的第二列)df[,-c(1,2)]
将删除其第一列和第二列。同样,df[-1,]
将删除其第一行,以此类推
这不能用列名完成,例如,df[,-“var1”]
将不起作用。要使用列名,您可以使用which()
,如df[,-which(名称(df)%in%“var1”)]
,但只需使用df[,!名称(df)%in%“var1”)]
就更容易了,并产生相同的结果。您还可以使用subset()
:subset(df,select=-c(var1,var2))
;这将删除名为“var1”和“var2”的列
请注意,删除行和列只会影响调用的输出,并且不会影响原始对象,除非将输出分配给原始对象。有很多示例可以开始学习子集设置。可能重复大量的例子,开始学习子集。可能是重复的感谢,这是完美的意义现在。但为什么没有逗号的代码“urban_sheet2[-1]”在Datacamp中有效?这是一个错误还是[,-1]等于[-1]?如果有数据帧,可以省略逗号来表示逗号。我更喜欢总是包含它,这样就可以清楚地看到您引用的是数据帧或矩阵的列,而不是向量中的项。省略逗号只是一条捷径,在我看来,这只会让事情变得更加混乱。谢谢,现在这很有意义。但为什么没有逗号的代码“urban_sheet2[-1]”在Datacamp中有效?这是一个错误还是[,-1]等于[-1]?如果有数据帧,可以省略逗号来表示逗号。我更喜欢总是包含它,这样就可以清楚地看到您引用的是数据帧或矩阵的列,而不是向量中的项。省略逗号只是一条捷径,在我看来,这只会让事情变得更加混乱。
# Add code to import data from all three sheets in urbanpop.xls
path <- "urbanpop.xls"
urban_sheet1 <- read.xls(path, sheet = 1, stringsAsFactors = FALSE)
urban_sheet2 <- read.xls(path, sheet = 2, stringsAsFactors = FALSE)
urban_sheet3 <- read.xls(path, sheet = 3, stringsAsFactors = FALSE)
# Extend the cbind() call to include urban_sheet3: urban
urban <- cbind(urban_sheet1, urban_sheet2[-1],urban_sheet3[-1])
# Remove all rows with NAs from urban: urban_clean
urban_clean<-na.omit(urban)